OS X Retina上的ScreenCapture

时间:2015-06-25 13:08:10

标签: objective-c xcode macos retina-display cgimageref

我正在尝试在OS X上进行屏幕捕获。我的解决方案在macbook pro上正常运行。但我在Retina显示器上遇到了一些问题。

我尝试使用CGDisplayPixelsHigh/CGDisplayPixelsWide获取当前分辨率。它会在Retina上返回正确的分辨率(我在“首选项”中看到的分辨率),但CGDisplayCreateImage返回的图像会提供分辨率加倍的图像。

这是我正在使用的代码

int activeDisplay;
size_t screenX, screenY;

activeDisplay = CGMainDisplayID();
screenY = CGDisplayPixelsHigh(activeDisplay);
screenX = CGDisplayPixelsWide(activeDisplay);

CGImageRef image = CGDisplayCreateImage(activeDisplay);

有没有办法捕获我在Retina显示屏的偏好设置中看到的分辨率图像?还有人可以解释为什么会这样吗?

0 个答案:

没有答案