【发布时间】:2016-04-27 22:51:08
【问题描述】:
Apple 最近在 OS X 上启用了 30 位颜色支持。他们发布了一些 sample code 来说明如何启用此功能。但是,它们似乎没有提供示例来说明如何检测您的应用何时在支持 30 位颜色的显示器上运行。
我们希望能够检测显示器何时支持 30 位颜色,并且只为支持它的显示器启用 30 位颜色,否则恢复为 24 位颜色。
有人知道怎么做吗?
到目前为止,我已经尝试使用 CGDisplay API(CGDisplayCopyDisplayMode 和 CGDisplayModeCopyPixelEncoding)来查询显示器的像素编码。但这些似乎总是返回 24 位编码,CGDisplayModeCopyPixelEncoding 在 Mac OS X 10.11 中已被弃用。我也尝试过使用NSScreen’s“深度”属性,但这也返回每像素 24 位。
内置的系统信息应用程序显然能够获取这些信息,我只是不知道他们是如何做到的。有什么提示吗?
【问题讨论】:
标签: macos retina-display color-management gamut