0


我已经在一个图层上做了一些绘图现在我想在另一个图层上绘制相同的东西。所以我已经存储了用户在第一层上绘制的所有绘图点。然后使用 convertPoint: toLayer: 方法将存储的点转换为点另一层。及其工作。但在方向上产生问题。如果我已经完成了肖像画。然后它只适用于横向位置的肖像将被改变。因此,请提出任何摆脱这种情况的方法。
谢谢

4

1 回答 1

0

标准化存储的点,使 x、y 位置相对于大小为 0..1、0..1 的表面(将 x、y 除以当前表面的宽度和高度)。然后,每当您想更改底层曲面的大小时,将每个点乘以这个新曲面的宽度和高度。无论表面尺寸如何,所有点现在都将出现在相同的相对位置。

请注意,以上内容会缩放(从纵向到横向,Y 将被压缩,X 将被扩展)。如果您不想这样做,则还需要考虑屏幕上表面的物理尺寸。也就是说,将您的点标准化为某个物理维度。

注意:我不知道您使用的是什么系统、语言、包、库等,因为您没有在问题中说明!

于 2010-12-22T15:41:01.103 回答