2012-05-25 14 views
15

Mi sono guardato intorno e ho letto i documenti, e non ho trovato alcun modo o soluzione, quindi chiedo qui. C'è qualche pacchetto disponibile per usare Python per convertire un'immagine JPG in un'immagine PNG?Conversione di immagini .jpg in .png

+0

Sembra che ci siano i binding Python per ImageMagick: http: // www .imagemagick.org/download/python /. Non li ho usati, ma ho usato ImageMagick e farà quello che vuoi. –

risposta

20

È possibile utilizzare sempre lo Python Image Library (PIL) per questo scopo. Potrebbero esserci anche altri pacchetti/librerie, ma l'ho usato prima per convertire tra i formati.

Questo funziona con Python 2.7 in ambiente Windows (Python Imaging Library 1.1.7 for Python 2.7), lo sto usando con 2.7.1 e 2.7.2

import Image 

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

Nota tua domanda iniziale non ha menzionato la versione di Python o il sistema operativo tu stai usando. Questo può fare la differenza, naturalmente :)

+0

Bene, dice che Python 2.7 è richiesto, e ho 2.7.3 quindi non mi permetterà di installarlo. Mi sto perdendo qualcosa? – user1417933

+1

@ user1417933 se sei windows hai bisogno di un sapore di PIL (32 o 64) compatibile con il tuo Python. – greggo

+0

Ah, grazie greggo, ho trovato un pacchetto x64 che ha funzionato per me. – user1417933

9

Python Library Image: http://www.pythonware.com/products/pil/

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

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

Salva

im.save (outfile, opzioni ...)

im.save (outfile , formato, opzioni ...)

Salva l'immagine con il nome file specificato. Se il formato è omesso, il formato viene determinato dall'estensione del nome file, se possibile. Questo metodo restituisce Nessuno.

Le opzioni di parole chiave possono essere utilizzate per fornire istruzioni aggiuntive allo scrittore . Se uno scrittore non riconosce un'opzione, è silenziosamente ignorata . Le opzioni disponibili sono descritte più avanti in questo manuale.

È possibile utilizzare un oggetto file anziché un nome file. In questo caso, è necessario specificare sempre il formato . L'oggetto file deve implementare i metodi di ricerca, comunicazione e scrittura ed essere aperto in modalità binaria.

Se il salvataggio non riesce, per qualche motivo, il metodo genererà un'eccezione (di solito un'eccezione IOError). Se ciò accade, il metodo potrebbe avere creato il file e potrebbe contenere dati scritti su di esso. Spetta all'applicazione rimuovere i file incompleti, se necessario.