2012-03-23 14 views
6

que estaba teniendo un problema con mi tamaño de la imagen iOS, y yo descubrimos this article mientras que encontrar alguna solución de optimización de tamaño de la imagen¿Forma y/o biblioteca de imágenes sin pérdida más pequeña?

Después de leerlo, me di cuenta que no es necesario utilizar sólo PNG o JPEG. De hecho, puedo usar cualquier formato de imagen que no sea compatible con la plataforma iOS de manera predeterminada. Porque si puedo obtener píxeles reales, convertirlo a UIImage a través de CGImage es simplemente un trabajo simple. Puedo usar un formato de mapa de bits especial y un decodificador especial. Por ejemplo, hay una técnica llamada textura atlas que almacena muchas imágenes dentro de un mapa de bits grande, y puede guardar cubos duplicados adicionales.

Así que estoy preguntando acerca de más pequeño (cuando está comprimido) compresión de imágenes sin pérdida formato y/o biblioteca. Si conoce algún gran formato o biblioteca, deseo que me lo recomiende.

Sería bueno si es de código abierto, pero no me importa si es de código cerrado de propiedad y una solución paga. Lo que necesito es compresión de imagen impresionante, no código fuente. Por supuesto, debe ser utilizable en la plataforma iOS, por lo que debe ofrecer decodificador utilizable en C, C + o lenguaje Objective-C. (No necesito el codificador en esta plataforma)

+0

Cualquier algoritmo de compresión de imágenes funcionará mejor en algunas imágenes que en otras. ¿Con qué tipos de imágenes está trabajando (fotografías, dibujos lineales, texto escaneado, etc.)? –

+0

¿Qué tipo de imagen estás comprimiendo? PNG generalmente se considera como "lo suficientemente bueno" para cosas como capturas de pantalla. Y en iPhone, la potencia de procesamiento podría ser una limitación. – Potatoswatter

+0

@Adam Mis imágenes son principalmente cosas UI. Usualmente gráficos dibujados por herramientas como Photoshop o Illustrator. No fotos Pero generalmente puede tener nivel de detalle fotográfico. – Eonil

Respuesta

1

Las diferentes imágenes tienen diferentes compresiones. Con JPEG sacrificas calidad para tamaños más pequeños y con PNG 24 obtienes transparencia alfa. Lo que probablemente le interese más es obtener la imagen de menor tamaño posible para el formato que está usando. Hay 2 buenas herramientas de línea de comandos para manejar esto. Tienes que jugar con diferentes tipos, programas como Photoshop hacen que sea realmente fácil ver cuál es el más pequeño. Una vez que haya encontrado su formato óptimo, puede usar un "smusher" para eliminar datos extraños que la imagen no necesita, pero que a menudo el editor agrega. A continuación hay 2 utilidades de línea de comandos que utilizo para asegurarme de que mis imágenes sean lo más pequeñas posible cuando construyo sitios web, pero también son beneficiosas para cualquier aplicación.

OptiPNG: http://optipng.sourceforge.net/ jpegoptim: https://github.com/glennr/jpegoptim#readme

tanto se puede instalar fácilmente utilizando homebrew: http://mxcl.github.com/homebrew/ y me gustaría suponer theres una opción para macports también.

También existe una versión basada en C por lo que puede utilizarse en un proyecto de iOS.

1

Si desea optimizar JPEG, me gustaría ir a http://jpegmini.com

Si desea salir de JPEG y PNG puede probar con WebP de Google (http://code.google.com/speed/webp /) pero no tengo idea de si hay bibliotecas de iOS para él y si son buenas.

Cuestiones relacionadas