Puedo crear UIImagede NSDatausar [UIImage imageWithData:]o [UIImage initWithData:]métodos.
Me pregunto si puedo NSDatarecuperarme de un existente UIImage. Algo en la linea deNSData *myData = [myImage getData];
cocoa-touch
uiimage
nsdata
Eugenio
fuente
fuente

UIImageJPEGRepresentationoUIImagePNGRepresentationva a alterar los datos y hacer una reconversión. ¿Existe alguna forma de lograr realmente lo que se pidió?Al inicializar un
UIImageobjeto coninit(data: originalData), esooriginalDatase convertirá en datos sin procesar en algún tipo de formato interno. Estos datos se pueden recuperar más tarde conSin embargo, debido a que
rawDataestá crudo, será incluso más grande que cuando se usaUIImagePNGRepresentation.fuente
Puede esperar que un UIImage sea un objeto formateado para su visualización y, por lo tanto, no utilizará los datos originales (que probablemente estén en formato PNG o JPEG), sino más bien una matriz de píxeles o algún otro formato interno. En otras palabras,
UIImage(data: foo)no retendráfoo.Si solo desea usarlo en otra parte de su programa, el UIImage original funcionará bien (supongo que ese no es el caso aquí)
Si desea serializar,
UIImagePNGRepresentation(...)funcionará pero será demasiado grande si el original era un JPEG;UIImageJPEGRepresentation(...)a menudo resultará en datos ligeramente sobredimensionados y con pérdidas si el original era PNG. Debería estar bien elegir uno según la forma en que se mostrará la imagen y el formato que espera que se le proporcione. Si está usando PNG dentro y quiere PNG fuera, debe obtener un buen tamaño de archivo y datos casi idénticos, aparte de los fragmentos especiales de PNG.Si desea obtener una copia exacta de los datos originales (tal vez para guardar un archivo después de la miniatura o para SHA1), debe conservarlo por separado. Podrías hacer algo como:
fuente
Solo porque me topé con esto y me gusta Swift :)
Aquí está la rápida traducción de la publicación de Caroiline.
O
fuente
Rápido 4.2
fuente
Las cosas han cambiado desde que se dio la respuesta anterior, para aquellos que todavía buscan porque comparten la preocupación de CipherCom: iOS 5 ha agregado la propiedad CIImage .
fuente
CIImagesolo se establece si se inicializó conimageWithCIImage:. Además, estos no son directamente los datos utilizados, sino otro objeto de representación de imágenes.