对于需要在 Windows 和 OSX 上运行的应用程序,我处于一个令人羡慕的位置,即使用庞大的既定代码库。我目前正在处理的部分包含一些用于吸管/颜色选择器工具的遗留代码。不幸的是,我没有太多为 Mac 开发的经验,所以我希望有人能对我的问题有所了解。
在某些情况下,吸管颜色略有错误,我将问题追溯到通过调用 CGColorSpaceCreateWithName( kCGColorSpaceGenericRGB ) 设置的预期 CGColorSpaceRef 与主显示配置文件设置的实际颜色空间之间的差异。将操作系统显示配置文件设置为通用 RGB 可以消除差异,但无论显示配置文件是什么,我都希望吸管能够获得一致的颜色。
检索主显示器显示配置文件并使用它而不是通用 RGB 配置文件可以确保吸管工具获得一致的值吗?我找到了 CGColorSpaceCreateWithPlatformColorSpace(...) 函数,但根据文档,它自 OSX 10.6 以来已被弃用。目前在 Quartz 中处理这个问题的方法是什么?
我对此感到有些拘束,因为我没有权力或专业知识来进行重大更改,例如添加对其他框架的依赖项。