3

如果我使用类似的东西捕获一个窗口......

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

并说窗口边界类似于......

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

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

在此先感谢,其中一件没有视网膜显示的事情我不确定,并且认为这对开发人员也有帮助......

4

1 回答 1

3

好的,通过使用 Quartz-Debug 启用 hidp 模式找到了答案,并将一个窗口拖到启用了 hidp 的屏幕上。

答案是无论是否视网膜,窗口边界的高度/宽度都是相同的。但是如果在视网膜屏幕上显示,捕获的图像会大 2 倍。

我预计会是这样,但不想做出任何假设。

于 2013-02-15T00:12:54.177 回答