gpt4 book ai didi

objective-c - 如何以编程方式确定 OS X 上 Retina MacBook Pro 屏幕的原始像素分辨率?

转载 作者:搜寻专家 更新时间:2023-10-30 20:20:08 24 4
gpt4 key购买 nike

给定从

返回的 CGDirectDisplayID
CGError error = CGGetActiveDisplayList(8, directDisplayIDs, &displayCount);

对于 Retina MacBook Pro 上的内置屏幕,我希望使用

size_t pixelWidth = CGDisplayPixelsWide(directDisplayID);
size_t pixelHeight = CGDisplayPixelsHigh(directDisplayID);

但是,这些调用仅返回当前所选模式的尺寸。如果我改变屏幕分辨率,我会得到不同的值。我希望在 15"rMBP 上恢复 2880 x 1800。

如何获取 Retina MacBook Pro 屏幕的原始像素尺寸?

最佳答案

我认为最好的方法是枚举所有显示模式(包括 1x 模式)并找到最大的 1x 模式尺寸。

您将使用 CGDisplayCopyAllDisplayModes() 并传递一个字典,其中键 kCGDisplayShowDuplicateLowResolutionModes 映射到 kCFBooleanTrue 作为 选项 获取所有模式。您可以测试 CGDisplayModeGetPixelWidth() 是否等于 CGDisplayModeGetWidth() 以确定哪些是 1x。

关于objective-c - 如何以编程方式确定 OS X 上 Retina MacBook Pro 屏幕的原始像素分辨率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13859109/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com