2012-09-24 35 views
24

Estoy haciendo algunas ediciones de imágenes con la biblioteca de PIL. El punto es que no quiero guardar la imagen cada vez en mi HDD para verla en Explorer. ¿Hay un pequeño módulo que simplemente me permite configurar una ventana y mostrar la imagen?¿Cómo se muestran las imágenes de PIL en la pantalla?

+0

de visualización de la imagen * *cómo**? En un navegador? –

+0

en una ventana hecha de python. Algo así como una ventana de pygame. Podría hacerlo en pygame, pero me gustaría una solución mejor. –

+0

WxPython? ¿O es demasiado pesado? http://wxpython.org/ – grieve

Respuesta

40

Desde el PIL tutorial:

Una vez que tenga una instancia de la clase de imagen, puede utilizar los métodos definidos por esta clase para procesar y manipular el imagen. Para ejemplo, vamos a mostrar la imagen que acaba de cargar:

          >>> im.show()

+0

es en realidad lo que estaba buscando, pero me sale un error de la galería de fotos de Windows Live. 0x800706ba –

+2

Eso es porque la galería de fotos en vivo de Windows está asociada con el tipo de archivo temporal que PIL creó cuando llamó al método, que probablemente sea .bmp en Windows que no admite muchas de las capacidades de los formatos de archivos de imágenes modernos. Intente configurar el atributo de formato de imagen explícitamente a .png (es decir, 'im.format =" PNG "') antes de la llamada 'im.show()'. – martineau

+0

aún el problema persiste. De hecho, podría probar una ventana de la biblioteca. –

2

Si usted encuentra que PIL tiene problemas en algunas plataformas, utilizando un visor de imágenes nativa puede ayudar.

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

para MacOS:

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

Para la mayoría de los sistemas GNU/Linux con X.Org y un entorno de escritorio:

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

For Windows:

import os 
os.system("powershell -c tmp.png") 
Cuestiones relacionadas