Ios 核心图形坐标系
当重写drawRect时,我发现那里的坐标使用0,0作为左上角 但《苹果UIView编程指南》指出: 一些iOS技术定义了默认坐标系,其原点和方向与UIKit使用的坐标系不同。例如,Core Graphics和OpenGL ES使用的坐标系原点位于视图或窗口的左下角,y轴相对于屏幕向上 我很困惑;当他们在这里提到核心图形时,他们谈论的是与石英不同的东西吗?本文档中的“核心图形”指的是“石英”,是的。这只是过于简单化了Ios 核心图形坐标系,ios,uiview,core-graphics,quartz-graphics,Ios,Uiview,Core Graphics,Quartz Graphics,当重写drawRect时,我发现那里的坐标使用0,0作为左上角 但《苹果UIView编程指南》指出: 一些iOS技术定义了默认坐标系,其原点和方向与UIKit使用的坐标系不同。例如,Core Graphics和OpenGL ES使用的坐标系原点位于视图或窗口的左下角,y轴相对于屏幕向上 我很困惑;当他们在这里提到核心图形时,他们谈论的是与石英不同的东西吗?本文档中的“核心图形”指的是“石英”,是的。这只是过于简单化了 当您自己创建CGContext时,其坐标系的原点位于左下角。当UIKit创建用
当您自己创建
CGContext
时,其坐标系的原点位于左下角。当UIKit创建用于在视图中绘图的CGContext
时,它会在调用-drawRect:
内核图形和iOS上的石英晶体(就坐标而言)之前,有效地翻转坐标系。政府是这样说的:
岩芯图形(也称为石英)
核心图形框架(CoreGraphics.framework)包含Quartz 2D绘图API的接口。Quartz与Mac OS X中使用的基于矢量的高级绘图引擎相同
区别在于,从技术上讲,石英是技术或机制,“核心图形”是框架的名称。(当然,在Mac OS上,实际上有一个“Quartz”框架,它只是一把伞。)为了让其他人找到这个线程: 这里有坐标系的完整说明: 它们之间的差异并没有什么帮助。在你的应用程序中,有很多方法可以在不同层次的视图中转换坐标系!例如,这将在缩放图像的可见屏幕中查找其所在点(20,20)的坐标。结果与缩放图像的原点有关,现在可能距离空间很远
croppingFrame.origin = [self convertPoint:CGPointMake(20.0, 20.0) fromCoordinateSpace:(self.window.screen.fixedCoordinateSpace)];