2012-09-24 20 views
24

Sto facendo un po 'di editing di immagini con la libreria PIL. Il punto è che non voglio salvare l'immagine ogni volta sul mio HDD per vederlo in Explorer. C'è un piccolo modulo che mi consente semplicemente di impostare una finestra e visualizzare l'immagine?Come visualizzare le immagini PIL sullo schermo?

+0

Visualizzare l'immagine * *Come**? In un browser? –

+0

in una finestra realizzata in python. Qualcosa come una finestra di pygame. Potrei farlo a Pygame, ma mi piacerebbe una soluzione migliore. –

+0

WxPython? O è troppo pesante? http://wxpython.org/ – grieve

risposta

40

Dal PIL tutorial:

Una volta che avete un'istanza della classe immagine, è possibile utilizzare i metodi definiti da questa classe per elaborare e modificare il Immagine. Ad esempio, cerchiamo di visualizzare l'immagine che abbiamo appena caricato:

          >>> im.show()

+0

è in realtà quello che stavo cercando, ma ottengo un errore di galleria fotografica di Windows live. 0x800706ba –

+2

Questo perché la galleria fotografica live di Windows è associata al tipo di file temporaneo PIL creato quando hai chiamato il metodo - che probabilmente è impostato su .bmp su Windows che non supporta molte delle funzionalità dei moderni formati di file di immagine. Prova a impostare esplicitamente l'attributo di formato immagine su .png (ad es. 'Im.format =" PNG "') prima della chiamata 'im.show()'. – martineau

+0

ancora il problema persiste. Potrei davvero provare una finestra di liberia. –

2

Se si scopre che PIL ha problemi su alcune piattaforme, utilizzando un visualizzatore di immagini native può aiutare.

img.save("tmp.png") #Save the image to a PNG file called tmp.png. 

per MacOS:

import os 
os.system("open tmp.png") #Will open in Preview. 

Per la maggior parte dei sistemi GNU/Linux con X.Org e un ambiente desktop:

import os 
os.system("xdg-open tmp.png") 

For Windows:

import os 
os.system("powershell -c tmp.png") 
Problemi correlati