Cocoa 如何判断捕获的窗口是否在视网膜显示器中显示为视网膜?
如果我用类似于Cocoa 如何判断捕获的窗口是否在视网膜显示器中显示为视网膜?,cocoa,retina-display,Cocoa,Retina Display,如果我用类似于 CGImageRef imageRef = CGWindowListCreateImage(CGRectNull, kCGWindowListOptionIncludingWindow, windowID, kCGWindowImageBoundsIgnoreFraming); kCGWindowBounds = { Height = 150; Width = 490; X = 395; Y = 174; }; 说窗户的边界有点像 CGImag
CGImageRef imageRef = CGWindowListCreateImage(CGRectNull, kCGWindowListOptionIncludingWindow, windowID, kCGWindowImageBoundsIgnoreFraming);
kCGWindowBounds = {
Height = 150;
Width = 490;
X = 395;
Y = 174;
};
说窗户的边界有点像
CGImageRef imageRef = CGWindowListCreateImage(CGRectNull, kCGWindowListOptionIncludingWindow, windowID, kCGWindowImageBoundsIgnoreFraming);
kCGWindowBounds = {
Height = 150;
Width = 490;
X = 395;
Y = 174;
};
如果窗口位于视网膜显示器上,kCGWindowBounds高度是否报告为300或150,但最终捕获的图像是否为300
提前感谢,其中一个没有at-retina display的东西我不确定,我认为对过度开发人员也会有帮助…好的,通过使用Quartz Debug启用hidp模式找到答案,并将一个窗口拖到启用hidp的屏幕上 答案是,无论视网膜与否,窗口边界的高度/宽度都是相同的。但是,如果在视网膜屏幕上显示,拍摄的图像将大2倍
我希望是这样,但不想做任何假设。边界的单位是点,而不是像素,因此在非视网膜和视网膜上是相同的。但磁盘上的图像大小始终以像素为单位显示