Quiero codificar una imagen en una cadena utilizando el módulo base64. Me encontré con un problema sin embargo. ¿Cómo especifico la imagen que quiero codificar? Intenté usar el directorio en la imagen, pero eso simplemente lleva al directorio que está siendo codificado. Quiero que el archivo de imagen real sea codificado.Codificación de un archivo de imagen con base64
EDITAR
I cansada este fragmento:
with open("C:\Python26\seriph1.BMP", "rb") as f:
data12 = f.read()
UU = data12.encode("base64")
UUU = base64.b64decode(UU)
print UUU
self.image = ImageTk.PhotoImage(Image.open(UUU))
pero me sale el siguiente error:
Traceback (most recent call last):
File "<string>", line 245, in run_nodebug
File "C:\Python26\GUI1.2.9.py", line 473, in <module>
app = simpleapp_tk(None)
File "C:\Python26\GUI1.2.9.py", line 14, in __init__
self.initialize()
File "C:\Python26\GUI1.2.9.py", line 431, in initialize
self.image = ImageTk.PhotoImage(Image.open(UUU))
File "C:\Python26\lib\site-packages\PIL\Image.py", line 1952, in open
fp = __builtin__.open(fp, "rb")
TypeError: file() argument 1 must be encoded string without NULL bytes, not str
¿Qué estoy haciendo mal?
Necesita un poco más de ayuda, ver la edición. – rectangletangle
Gracias, un problema más cuando imprimo la imagen decodificada obtengo la cadena 'ÿØÿà'. Sin embargo, cuando ejecuto esto solo como un sustituto de datos obtengo un error. La cadena codificada es mucho más larga para la comparación. Así que creo que es probable que almacene los datos de imagen. La cadena decodificada simplemente hace referencia a la cadena codificada o algo así? Parece demasiado corto para el almacenamiento de datos. – rectangletangle
La salida impresa no es necesariamente igual al contenido real, depende de cómo y dónde la imprima. –