Image como arreglo de bits

Patricio Olivares polivare en lilyphilia.net
Mar Feb 27 02:51:04 CET 2007


Rafael Rodríguez Puente wrote:
> Hola:
>   Tengo el siguiente fragmento de código
> 
> 
> from Image import *
> def metodo():
>     img = Image()
>     img = open("1.JPG")
> 
> lo que quiero es que lo que el metodo devuelva sea la entrada de un
> objeto img en html, especificamente del atributo src.
> algo como esto:
> <img src="metodo">
> 
> Pienso, aunque noe stoy seguro, que si se devolviera un arreglo de bits
> no debería haber problemas.
> 
> Gracias.
> 
> PD: Si alguien tiene idea de como hacerlo, aunque sea de otra forma, se
> aceptan sugerencias.

Desde código html (el <img src...), no se puede llamar
directamente a una función python. Algo que puedes hacer es un cgi
(o usar un framework para desarrollo web), y desde ahí dar
visibilidad vía web a esa función. Luego en el <img> pones la
dirección del cgi que hiciste.

Un tutorial sobre cgi:
    http://webpython.codepoint.net/introduction
aquí hay más:
    http://wiki.python.org/moin/CgiScripts

Dependiendo de tiempo/interés, podrías aprender a usar algún
framework para simplificar algunas tareas típicas de los
desarrollos web. De los que he visto uno muy simple es webpy,
pero también hay otros como django o turbogears por ejemplo.

    http://wiki.python.org/moin/WebFrameworks


Una variante es que el método retorne el nombre de la imagen y no
el contenido. Eso puede ser más eficiente con imágenes grandes
porque la transmisión del contenido se le delega al servidor web y
no a python, pero para eso ya no te serviría un html simple, sino
que debería ser una plantilla que se interprete cuando un
usuario acceda a la dirección de la página. Eso de todas formas
requiere alguna configuración en el servidor.




Más información sobre la lista de distribución Python-es