确定UIImage的色彩空间

Mat*_*att 3 iphone uiimage cgcolorspace

我想知道是否有一种简单的方法来获取图像的色彩空间(即图像加载到UIImage中)?例如,我有一个TIFF图像,我希望能够确定它是否使用RGB颜色空间.有没有一种简单的方法可以在不操纵像素数据的情况下完成 我知道有一些CGColorSpace函数,但它们似乎都没有这样做,只是创建颜色空间并操纵它们(以及更多高级函数).

提前致谢.

Dyl*_*kes 13

你必须通过CGImage获得色彩空间.您可以使用以下函数/属性来完成:

@property(nonatomic, readonly) CGImageRef CGImage

CGColorSpaceRef CGImageGetColorSpace (
   CGImageRef image
);
Run Code Online (Sandbox Code Playgroud)

因此,为了获得图像的色彩空间,您需要:

CGColorSpaceRef colorspace = CGImageGetColorSpace([myUIImage CGImage]);
Run Code Online (Sandbox Code Playgroud)

当然,请确保遵循CG对象的get/create/copy规则.