我正在尝试在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显示屏的偏好设置中看到的分辨率图像?还有人可以解释为什么会这样吗?