我仍在学习 Cocoa 中自定义视图绘图的一些细节。我有一个自定义视图,在该视图中,我根据固定大小的较大矩形中的相应点绘制线和点。我希望在调整视图大小时放大或缩小绘图,但保持与较大矩形相同的纵横比。
缩放绘图的最佳方法是什么?我是否需要以某种方式应用仿射变换?还是我应该绘制到 imageRef?我不确定在这种情况下究竟如何做以太一,或者如何使其与视图的大小和坐标来自的较大矩形的纵横比保持同步。非常感谢任何指向示例代码的提示或链接。
连接仿射变换听起来像是正确的解决方案。在两个维度上按相同的因子缩放将保留绘图的纵横比,并且您可以使用简单的除法来计算正确的因子(假设您不只是从滑块或其他东西中获取它)。
如果您还没有,我强烈建议您阅读Cocoa Drawing Guide和Quartz 2D Programming Guide。有很多重叠,但解释不是复制和粘贴的,所以如果一个指南对某事的解释没有意义,请在另一个指南中查找并尝试阅读该版本。