2010-11-12 21 views
3

Je me demande s'il existe un moyen facile d'obtenir l'espace de couleurs d'une image (c'est-à-dire une image chargée dans un UIImage)? Par exemple, j'ai une image TIFF et j'aimerais pouvoir déterminer si elle utilise l'espace colorimétrique RVB ou non. Existe-t-il un moyen facile de le faire sans manipuler les données de pixel? Je sais qu'il y a des fonctions CGColorSpace, mais aucune d'entre elles ne semble faire cela, il suffit de créer des espaces de couleurs et de les manipuler (et beaucoup plus de fonctions avancées).Détermination de l'espace de couleurs d'un UIImage

Merci d'avance.

Répondre

13

Vous devez obtenir l'espace colorimétrique via CGImage. Vous pouvez le faire avec la ligne suivante de fonctions/propriétés:

@property(nonatomic, readonly) CGImageRef CGImage 

CGColorSpaceRef CGImageGetColorSpace (
    CGImageRef image 
); 

Donc, pour obtenir l'espace colorimétrique d'une image, vous feriez:

CGColorSpaceRef colorspace = CGImageGetColorSpace([myUIImage CGImage]); 

Et bien sûr, assurez-vous de suivre les règles get/create/copy pour les objets CG.