确定UIImage的颜色空间

6
我想知道是否有一种简单的方法来获取图像的颜色空间(即加载到UIImage中的图像)?例如,我有一个TIFF图像,我想确定它是否使用RGB颜色空间。是否有一种不需要操作像素数据的简单方法来实现这一点?我知道有一些CGColorSpace函数,但它们似乎都没有做到这一点,只是创建颜色空间和操作它们(以及更高级的功能)。提前致谢。
2个回答

16
你需要通过CGImage获取颜色空间。你可以使用以下的函数/属性来实现:
@property(nonatomic, readonly) CGImageRef CGImage

CGColorSpaceRef CGImageGetColorSpace (
   CGImageRef image
);

获取图像的颜色空间,您可以执行以下操作:

CGColorSpaceRef colorspace = CGImageGetColorSpace([myUIImage CGImage]);

当然,确保遵循CG对象的获取/创建/复制规则。


0

Swift

获取UIImage的颜色空间:

let colorSpace = myUIImage.cgImage?.colorSpace

检查颜色空间类型的示例代码:

if colorSpace == CGColorSpace(name: CGColorSpace.sRGB) && colorSpace != nil {
  print("valid sRGB")
}

请参阅Apple的CGColorSpace文档“访问系统定义的颜色空间”,以获取完整的颜色空间类型列表。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接