我想知道是否有一种简单的方法来获取图像的颜色空间(即加载到UIImage中的图像)?例如,我有一个TIFF图像,我想确定它是否使用RGB颜色空间。是否有一种不需要操作像素数据的简单方法来实现这一点?我知道有一些CGColorSpace函数,但它们似乎都没有做到这一点,只是创建颜色空间和操作它们(以及更高级的功能)。提前致谢。
@property(nonatomic, readonly) CGImageRef CGImage
CGColorSpaceRef CGImageGetColorSpace (
CGImageRef image
);
获取图像的颜色空间,您可以执行以下操作:
CGColorSpaceRef colorspace = CGImageGetColorSpace([myUIImage CGImage]);
当然,确保遵循CG对象的获取/创建/复制规则。
Swift
获取UIImage的颜色空间:
let colorSpace = myUIImage.cgImage?.colorSpace
检查颜色空间类型的示例代码:
if colorSpace == CGColorSpace(name: CGColorSpace.sRGB) && colorSpace != nil {
print("valid sRGB")
}