Определение цветового пространства UIImage - PullRequest
3 голосов
/ 12 ноября 2010

Мне интересно, есть ли простой способ получить цветовое пространство изображения (т.е. изображение, загруженное в UIImage)?Например, у меня есть изображение TIFF, и я хотел бы иметь возможность определить, использует ли оно цветовое пространство RGB или нет.Есть ли простой способ сделать это без манипулирования данными пикселей?Я знаю, что есть некоторые функции CGColorSpace, но, похоже, ни одна из них этого не делает, просто создает цветовые пространства и манипулирует ими (и гораздо более продвинутыми функциями).

1 Ответ

13 голосов
/ 12 ноября 2010

Вы должны получить цветовое пространство через CGImage. Вы можете сделать это с помощью следующей строки функций / свойств:

@property(nonatomic, readonly) CGImageRef CGImage

CGColorSpaceRef CGImageGetColorSpace (
   CGImageRef image
);

Таким образом, чтобы получить цветовое пространство изображения, вы должны сделать:

CGColorSpaceRef colorspace = CGImageGetColorSpace([myUIImage CGImage]);

И, конечно же, обязательно следуйте правилам получения / создания / копирования объектов CG.

...