2010-01-02 27 views
6

Todo lo que necesito es crear una imagen PNG con fondo transparente, dibujar un texto en negro en él y guardarlo con img.save('target.png', option='optimize')imágenes Optimizar .png con PIL

Parece PIL guarda las imágenes .png en 32- modo de bit automáticamente. ¿Puedo reducir la profundidad de color sin hacer que las imágenes de salida se vean mucho peor antes de guardar? Como contiene solo texto negro y fondo transparente, creo que reducir la profundidad de color reduciría en gran medida el tamaño del archivo.

+3

Nota: la sintaxis correcta para configurar el indicador 'optimize' es:' img.save ('target.png', optimize = True) '. –

+0

@martineau Ese enlace está muerto, ¿tienes un espejo? –

+1

@StevenRoose: Sí, pruebe [este enlace] (http://effbot.org/imagingbook/format-png.htm). – martineau

Respuesta

3

Hey jack, consultar this pregunta respondida acerca de la profundidad de color PIL. :)

+0

gracias, img.convert ('LA') hago algo de optimización pero no tanto como esperaba (menor tasa de compresión que optipng). img.convert ('P') simplemente convierte toda la imagen en negro. – jack

+0

Pruebe 'img.convert ('P', colors = n, palette = Image.ADAPTIVE)'. – bobince

+0

Una imagen de 1 bit debería ser la más pequeña, aunque el texto podría parecer un poco irregular. – martineau

Cuestiones relacionadas