2011-05-20 14 views
41

Estoy construyendo una aplicación para iPhone que necesita convertir un UIImage a un CGImageRef. No tengo idea de cómo hacer esto y me gustaría algo de ayuda. No tengo antecedentes en el trabajo con imágenes ... :)UIImage -> CGImageRef

Respuesta

95

Es tan simple como image.CGImage donde image es un objeto UIImage.

+4

hacer la nota que el CGImage puede no ser exactamente equivalente a la UIImage. En particular, ten cuidado con 'imageOrientation' que no sea' UIImageOrientationUp'. – Anomie

+0

Tenga en cuenta que 'image' también se puede crear a partir de' CIImage' – zcui93

13
CGImageRef cgImage = [someImage CGImage]; 
+9

A menos que el UIImage se inicialice desde un CIImage, en ese caso, CGImage será nulo. –

+0

Usar este código me da un error "Tipos de puntero incompatibles que inicializan CGImageRef (también conocido como struct CGImage *) con una expresión de tipo CGImageRef (también conocido como struct CGImage *)". El error en sí parece absurdo ya que dice que ambos son del mismo tipo. Esto está ocurriendo en Xcode 6.3.2. ¿Pensamientos? – Praxiteles

+0

No, debería funcionar bien. Noté que alguien editó esto, pero no debería usarse como método de clase. Voy a revertir esta edición también. –

2

escritura folowing para obtener CGImage de UIImage: Supongamos que u tiene un objeto UIImage ex imageobject entonces,

CGImage imageRef = imageObject.CGImage