2009-08-03 9 views
10

Estoy trabajando en una aplicación de iPhone que utiliza la cámara para tomar fotos, luego las guardo en el directorio Documentos de aplicaciones. Estoy usando el siguiente código para convertir el UIImage a NSData,UIImagePNGRpresentación lenta o ¿estoy haciendo algo mal?

NSData *imageData = [NSData dataWithData:UIImagePNGRepresentation(image)]; 

Entonces escribo el NSData usando

[imageData writeToFile:path atomically:NO] 

funciona todo. El problema es que UIImagePNGRepresentation() es realmente lento. Se necesitan 8-9 segundos en mi 3G para convertir la imagen a NSData. Esto me parece mal. ¿Alguien tiene alguna experiencia con esto? ¿Es solo una función lenta o estoy haciendo algo terriblemente mal?

Gracias

Respuesta

21

¿Seguro que desea guardar las imágenes capturadas con la cámara como PNG?

JPEG es un formato más apropiado para fotografías. Además, ¡es mucho más rápido!

+0

JPeg es mucho más rápido, nunca (nunca usé PNG, pero Jpeg nunca toma 9 segundos, toma como 1) – Daniel

+0

debería haber incluido este nugget de información también en mi respuesta. No es increíblemente rápido, pero es mucho más rápido que el método PNG. – bpapa

+0

Mucho más rápido de hecho. La conversión PNG tomó 8.941264 segundos y el JPG en 0.9 toma 3.222942. Problema resuelto en menos de 5 minutos, me encanta este sitio. – TheGeoff

Cuestiones relacionadas