2013-02-12 114 views
3

如果我使用像捕获窗口...如何判断捕获的窗口是否在视网膜显示器中显示为视网膜?

CGImageRef imageRef = CGWindowListCreateImage(CGRectNull, kCGWindowListOptionIncludingWindow, windowID, kCGWindowImageBoundsIgnoreFraming); 

说窗口范围是类似...

kCGWindowBounds = { 
    Height = 150; 
    Width = 490; 
    X = 395; 
    Y = 174; 
}; 

如果窗口是视网膜显示器上会的kCGWindowBounds高度报告为300或150,但最终拍摄的图像为300?

在此先感谢,没有这些东西一个在视网膜显示器,我不知道,并认为会超过开发商太大的帮助......

回答

3

好了,找到了答案用石英调试启用hidp模式,并将窗口拖到启用了hidp的屏幕上。

答案是窗口边界的高度/宽度是相同的,不管是否视网膜。但是如果显示在视网膜屏幕上,拍摄的图像将会增大2倍。

我认为它是这种情况,但并不想做出任何假设。

+0

“边界”的单位是“点”,而不是“像素”,所以它在非视网膜和视网膜上是相同的。但是磁盘上的图像大小始终以像素显示 – onmyway133 2017-09-01 12:22:38