将点坐标转换为新的坐标系

时间:2012-08-16 14:43:09

标签: objective-c ios ios5

假设我的坐标为(50,100),其中(0,0)位于视图的左上角。

如果我希望坐标系的开头是屏幕的中心(即宽度/ 2,高度/ 2),我如何得到同一点的坐标?

请注意,我正在实现一个自定义视图,我在其中绘图,我只想转换同一视图内的坐标。我基本上实现了一个图形计算器,我需要让我的坐标系统从屏幕中间开始,这样图形看起来会更好。

2 个答案:

答案 0 :(得分:3)

我注意到你将其标记为iOS问题,因此请使用Apple在UIView中构建的方法:

(CGPoint)convertPoint:(CGPoint)point fromView:(UIView *)view

答案 1 :(得分:-3)

找到你将要使用的中点,因此对于100x100的屏幕,这将是(50,50)。然后取你需要转换的点并从点X值中减去中点X值,然后从中点Y值中减去点Y值。请注意,您没有对两个值执行相同的操作。

因此,如果该点为(30,25),新点将为(-20,25)因为30 - 50 = -20且50 - 25 = 25。

相关问题