Tengo un código para recrear una imagen de alta calidad con muy mala calidad, pero estoy un poco confundido por los resultados que estoy viendo. El código está aquí:¿Cómo recreo un UIImage a una compresión más baja en iOS?
NSData *compressedData = UIImageJPEGRepresentation(bigImage,0);
NSLog(@"compressedData length = %d", [compressedData length]);
self.currentImage = [UIImage imageWithData:compressedData];
NSData *dataAfterCompression = UIImageJPEGRepresentation(self.currentImage,1);
NSLog(@"dataAfterCompression length = %d", [dataAfterCompression length]);
que da salida:
2012-01-02 02:47:05.615 MyApp[349:707] compressedData length = 32671
2012-01-02 02:47:06.143 MyApp[349:707] dataAfterCompression length = 251144
¿Por qué crear una nueva imagen con los datos de baja calidad dan como resultado una imagen tan grande?
Bueno, estoy usando la más alta calidad la segunda vez para obtener el objeto NSData para el registro de tamaño. Pero la imagen con la que estoy usando la escala de más alta calidad ya debería ser escalada a la calidad más baja, así que creo que debería obtener una imagen de 32.6 KB – Tony
Si desea obtener una imagen con un tamaño de 32 KB aprox. entonces debe usar la compresión máxima en lugar de una compresión más baja. Depende de usted. Deba la vista de este enlace, espero que pueda serle útil http://ofcodeandmen.poltras.com/2008/10/ 30/no-documentado-uiimage-resizing/ – Kamarshad
Lo hice. Lea mi pregunta nuevamente con cuidado – Tony