2012-05-25 22 views
15

He mirado alrededor y leído los documentos, y no encontré la manera ni la solución, así que pregunto aquí. ¿Hay algún paquete disponible para usar Python para convertir una imagen JPG en una imagen PNG?Conversión de imágenes .jpg a .png

+0

Parece que hay enlaces de Python a ImageMagick: http: // www .imagemagick.org/download/python /. No los he usado, pero he usado ImageMagick y hará lo que usted quiera. –

Respuesta

20

Para este propósito, siempre puede usar el Python Image Library (PIL). Puede haber otros paquetes/bibliotecas también, pero he usado esto antes para convertir entre formatos.

Esto funciona con Python 2.7 en Windows (Python Imaging Library 1.1.7 for Python 2.7), lo estoy usando con 2.7.1 y 2.7.2

import Image 

im = Image.open('Foto.jpg') 
im.save('Foto.png') 

Nota su pregunta original no mencionar la versión de Python o el sistema operativo Tu estas usando. Eso puede hacer una diferencia, por supuesto :)

+0

Bueno, dice que se necesita Python 2.7, y tengo 2.7.3 por lo que no me deja instalar. ¿Me estoy perdiendo de algo? – user1417933

+1

@ user1417933 si usted es Windows necesita un sabor de PIL (32 o 64) compatible con su Python. – greggo

+0

Ah, gracias greggo, encontré un paquete x64 que funcionó para mí. – user1417933

9

bibliotecas de Python Image: http://www.pythonware.com/products/pil/

Desde: http://effbot.org/imagingbook/image.htm

import Image 
im = Image.open("file.png") 
im.save("file.jpg", "JPEG") 

Guardar

im.save (archivo_salida, opciones ...)

im.save (archivo_salida , formato, opciones ...)

Guarda la imagen con el nombre de archivo dado. Si se omite el formato, el formato se determina a partir de la extensión del nombre de archivo, si es posible. Este método devuelve None.

Las opciones de palabras clave se pueden utilizar para proporcionar instrucciones adicionales al escritor . Si un escritor no reconoce una opción, se ignora silenciosamente . Las opciones disponibles se describen más adelante en este manual.

Puede usar un objeto de archivo en lugar de un nombre de archivo. En este caso, usted siempre debe especificar el formato. El objeto de archivo debe implementar los métodos buscar, contar y escribir, y debe abrirse en modo binario.

Si el guardado falla, por alguna razón, el método generará una excepción (generalmente una excepción IOError). Si esto sucede, el método puede haber creado el archivo y puede haberle escrito datos. Depende de su aplicación eliminar los archivos incompletos, si es necesario.