我想知道是否有一种简单的方法来获取图像的色彩空间(即加载到UIImage中的图像)?例如,我有一张TIFF图像,我希望能够确定它是否使用RGB色彩空间。有没有一种简单的方法可以在不处理像素数据的情况下做到这一点?我知道有一些CGColorSpace函数,但它们似乎都不能做到这一点,只是创建色彩空间并操作它们(以及更高级的函数)。
提前谢谢。
发布于 2010-11-13 04:59:59
您必须通过CGImage获取颜色空间。您可以使用下面这行函数/属性来完成此操作:
@property(nonatomic, readonly) CGImageRef CGImage
CGColorSpaceRef CGImageGetColorSpace (
CGImageRef image
);因此,要获得图像的颜色空间,您可以这样做:
CGColorSpaceRef colorspace = CGImageGetColorSpace([myUIImage CGImage]);当然,确保遵循CG对象的get/create/copy规则。
发布于 2021-07-06 15:15:54
Swift
要获取UIImage的颜色空间,请执行以下操作:
let colorSpace = myUIImage.cgImage?.colorSpace检查颜色空间类型的示例代码:
if colorSpace == CGColorSpace(name: CGColorSpace.sRGB) && colorSpace != nil {
print("valid sRGB")
}有关颜色空间类型的完整列表,请参见Apple's CGColorSpace Documentation "Accessing System-Defined Color Spaces"。
https://stackoverflow.com/questions/4168972
复制相似问题