2011-09-02 15 views
9

A menudo utilizo OptiPNG o pngcrush para reducir el tamaño del archivo de mis imágenes PNG.Reducción del tamaño del archivo PNG en .NET

Me gustaría poder hacer este tipo de cosas programáticamente desde una aplicación .NET. Genero dinámicamente PNG que se envían a un dispositivo móvil, por lo que me gustaría mantener el tamaño del archivo.

La calidad de imagen es importante, por lo que PNG definitivamente ganará jpeg en este caso.

¿Hay alguna biblioteca existente que pueda usar para hacer esto?

+0

¿Está buscando el cambio de tamaño de archivo para un tamaño de pantalla determinado o la minimización de archivos como PNGOUT? –

+0

Minimización de archivos como PNGOUT. OptiPNG y pngcrush son herramientas similares. – teedyay

+2

No creo que haya bibliotecas administradas. OptiPNG es de código abierto, por lo que un puerto del código es * posible *. Alternativamente, aunque dudo que produzca resultados, intente cargar sus PNG como mapas de bits (esto debería cortar las cosas de metadatos PNG que podrían estar desperdiciando espacio) y codificarlos como PNG nuevamente: http://msdn.microsoft.com/ es-us/library/system.windows.media.imaging.pngbitmapencoder.aspx –

Respuesta

1

¿Por qué no intenta ejecutar cualquiera de las aplicaciones que ha nombrado desde su aplicación utilizando un parámetro de comando. O, si eso no es posible, usando la automatización de Windows.

+1

Mm, eso es un poco asqueroso desde dentro servicio web. Estoy recibiendo archivos en la web y los cambio de tamaño, etc. – teedyay

1

Consulte nQuant en http://nquant.codeplex.com. Esto cuantificará PNG de 32 bits hasta 8 bits utilizando código completamente administrado sin necesidad de crear shell en una biblioteca C. Actualmente es solo un cuantificador y siempre se convertirá en una paleta de 8 bits que puede incurrir en alguna pérdida de calidad. Estoy trabajando en una función de optimización sin pérdida que con suerte estará disponible pronto.

+0

Realmente necesito sin pérdida, así que esperaré con la respiración contenida. – teedyay

+0

¿Alguna actualización de esto? ¿Cuál es la mejor manera de reducir el png al mínimo absoluto? – Don

Cuestiones relacionadas