Cocoa 在quartz 2d中禁用颜色校正
好的,我知道实际上不可能在石英中禁用颜色校正。我要找的是一个独立于设备的颜色空间设置,它不会改变我在CGB图层中绘制的RGB值 我尝试了系统库中的所有ICC配置文件,它们都会改变颜色 这是我得到的最好结果:Cocoa 在quartz 2d中禁用颜色校正,cocoa,macos,quartz-graphics,color-management,Cocoa,Macos,Quartz Graphics,Color Management,好的,我知道实际上不可能在石英中禁用颜色校正。我要找的是一个独立于设备的颜色空间设置,它不会改变我在CGB图层中绘制的RGB值 我尝试了系统库中的所有ICC配置文件,它们都会改变颜色 这是我得到的最好结果: const CGFloat whitePoint[] = {0.95047, 1.0, 1.08883}; const CGFloat blackPoint[] = {0, 0, 0}; const CGFloat gamma[] = {1, 1, 1}; const CGFloat mat
const CGFloat whitePoint[] = {0.95047, 1.0, 1.08883};
const CGFloat blackPoint[] = {0, 0, 0};
const CGFloat gamma[] = {1, 1, 1};
const CGFloat matrix[] = {0.449695, 0.244634, 0.0251829, 0.316251, 0.672034, 0.141184, 0.18452, 0.0833318, 0.922602 };
CGColorSpaceRef colorSpace = CGColorSpaceCreateCalibratedRGB(whitePoint, blackPoint, gamma, matrix);
这使用苹果RGB的颜色转换矩阵和D65白点
颜色仍然会有一点变化,尽管与依赖于设备的设置相比,我更喜欢这种设置
下面是我如何将CGLayer写入TIFF的:
CIImage *image = [CIImage imageWithCGLayer:cgLayer];
NSBitmapImageRep *bitmapImage = [[NSBitmapImageRep alloc] initWithCIImage:image];
[[bitmapImage TIFFRepresentation] writeToFile:fileName atomically:YES];
如果有任何帮助,我们将不胜感激。为什么不声明您的颜色与您的目的地属于同一颜色空间
CGLayer
CGColorSpaceCreateDeviceRGB
的文档似乎只是在说:
为什么不声明您的颜色与目的地的颜色相同
CGLayer
CGColorSpaceCreateDeviceRGB
的文档似乎只是在说: