【问题标题】:Convert point coordinates to a new coordinate system将点坐标转换为新的坐标系
【发布时间】:2012-08-16 14:43:08
【问题描述】:

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

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

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

【问题讨论】:

    标签: objective-c ios ios5


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-06-23
        • 2012-09-06
        相关资源
        最近更新 更多