我正在尝试为我的应用程序创建一个图像“放大镜”,可用于检查不同放大级别的图像,但我遇到了一些障碍。我正在使用 Quartz 创建CGImageRef
我的应用程序窗口所在显示的选定部分的快照。问题是,所有不同 OS X 技术使用的命名法让我很困惑。
我正在使用的功能是CGDisplayCreateImageForRect(CGDirectDisplayID display, CGRect rect)
. 文档说明该CGRect rect
参数是“在显示空间中指定的矩形,用于复制到图像中的显示部分”。问题是,我在控制台中得到的输出不是我所期望的。我已经尝试了很多不同的转换、转换、坐标翻转等,我现在 100% 感到困惑。
所以,我想我的问题归结为:屏幕空间 == 设备空间 == 显示空间,以及如何正确转换他或她的视图框架(恰好是自定义无边框窗口)坐标(左下角原点) 以匹配显示器的坐标(左上角原点)?
如果有人能让我直截了当,或者指出我正确的方向,我将永远感激不尽。谢谢!