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