2012-07-02 13 views
12

Estoy creando un CIImage de un UIImage de la siguiente manera:UIImage a CIImagen, el tamaño se reduce a la mitad?

CIImage* someCIImage = [CIImage imageWithCGImage:someUIImage.CGImage]; 

Comparando con someCIImage.extent.size.width/heightsomeUIImage.size.width/height, me parece que a veces el CIImage es el doble de tamaño en las dimensiones, ya veces es el mismo tamaño que el UIImage.

Parece que si el UIImage es un poco más grande, el CIImage es el doble de tamaño, mientras que si el UIImage es un poco más pequeño, este no es el caso.

¿Alguien ha visto esto antes/sabe por qué es esto? Esto me está causando problemas reales ya que estoy tratando de dibujar un CIImage desde un UIImage cargado.

+2

Me pregunto si esto tiene que ver con Retina Display graphics? –

+1

Comprueba el método 'scale' del' UIImage'; debería decirle cómo convertir el tamaño a píxeles. –

+0

Tengo el mismo problema cuando jugueteo con un CIFilter. Antes de usar el filtro, uso parcialmente UIImage a CIImage convierte. Tu comentario me ayudó, pero todavía tengo un problema para descubrir el CIFilter al final. UIImage-property-scale de hecho es 2 en dispositivos retina. – nodepond

Respuesta

8

size tiene que ver con la distancia entre los puntos en la pantalla, por lo que el número de puntos en una pantalla retina se duplica. size hace no representan el número de píxeles como suponía.

+0

En cuanto a qué hacer al respecto, necesitará escalar su imagen como se señala en los comentarios anteriores. –

Cuestiones relacionadas