我需要改变颜色值。 需要在RGB之间进行转换 - > HSV - > RGB等。
不幸的是,-getHue()方法无法正常使用sRGB。
[col getHue:&hue saturation:&sat brightness:&val alpha:&alpha];
NSLog(@"HUE == %f", hue);
NSLog(@"SAT == %f", sat);
NSLog(@"VAL == %f", val);
我的应用需要支持iOS9 +。我不知道如何使用旧的obj-c API将colorspace更改为extendedSRGB。
在iOS 10之前的iOS版本上,以及在版本的iOS上链接的应用程序 在iOS 10之前的iOS中,颜色是以两种颜色之一创建和返回的 色彩空间:
Device-Dependent Gray Device-Dependent RGB
这些设备颜色空间与显示屏紧密对应 sRGB色彩空间的特征。颜色组件值 这些颜色空间由0.0到1.0之间的值表示。什么时候 创建一个颜色,输入参数被钳制以适应 这个色彩空间。
如果您的应用是在iOS 10上或之后进行链接以及在iOS 10上运行时 或者以后,在扩展颜色空间中创建颜色:
kCGColorSpaceExtendedGray kCGColorSpaceExtendedSRGB
这就是我的整个项目因这个未解决的API问题而冻结。 :o有人可以指导我如何将色彩空间更改为extendedRGB(iOS9 API)??
答案 0 :(得分:1)
我的应用程序要求支持iOS9 +。我不知道如何使用旧的obj-c API将颜色空间更改为extendedSRGB。
iOS 10之前不存在扩展的色彩空间,因此无法在iOS 9或更早版本上使用它们。请参阅此处的Apple文档,其中列出了支持kCGColorSpaceExtendedSRGB
的版本:
https://developer.apple.com/documentation/coregraphics/kcgcolorspaceextendedsrgb
SDK
- iOS 10.0 +
- macOS 10.12 +
- tvOS 10.0 +
- watchOS 3.0 +