我对UIKit和Core Graphics之间的坐标系差异有些困惑。苹果文档指出,UIKit使用ULO(左上原点),而Core Graphics使用LLO(左下原点)。
然而,正如关于坐标系的文章中所述,它指出UIKit在调用-drawRect:之前会翻转坐标系。
当我在(0,0)处绘制一个矩形时,它确实位于左上角,因此似乎是翻转了。但是,当我使用CGContextDrawImage()绘制图像时,它仍然是翻转的。我知道可以使用drawAtPoint()来避免倒置的图像,但我只是好奇坐标系:如果UIKit已经翻转了它,为什么在绘制到翻转的上下文中时图像仍然是倒置的?还有,有没有办法获得未翻转的坐标系?也就是说,有没有一种方法可以创建一个CGContext而不通过UIKit?
谢谢!
然而,正如关于坐标系的文章中所述,它指出UIKit在调用-drawRect:之前会翻转坐标系。
当我在(0,0)处绘制一个矩形时,它确实位于左上角,因此似乎是翻转了。但是,当我使用CGContextDrawImage()绘制图像时,它仍然是翻转的。我知道可以使用drawAtPoint()来避免倒置的图像,但我只是好奇坐标系:如果UIKit已经翻转了它,为什么在绘制到翻转的上下文中时图像仍然是倒置的?还有,有没有办法获得未翻转的坐标系?也就是说,有没有一种方法可以创建一个CGContext而不通过UIKit?
谢谢!
CGBitmapContextCreate
自 iOS 2.0 就已经可用,至今仍然可用。 - Kurt Revis