Seite 1 von 1

Bilder aus zip-Datein lesen

Verfasst: Dienstag 13. Juni 2006, 23:04
von maprie
Ich möchte meine Bilder gerne in eine zip-Datei packen und von dort für Tkinter öffnen, leider finde ich dazu keine passende Möglichkeit (ausser eine temporäre Datei zu schreiben und die zu lesen).

Code: Alles auswählen

import zipfile

zipdatei = zipfile.ZipFile("datei.zip",'r')

bild = PhotoImage( file = zipdatei.read(bild.gif) )  #funktioniert nicht, erwartet eine echte datei
Mit der Option data habe ich auch keinen Erfolg gehabt. Hat jemand einen Tip?

Verfasst: Mittwoch 14. Juni 2006, 00:24
von milahu
Hey,
python.net hat geschrieben:data (string). Specifies the image data as a string. In standard Tk, this can only be used with GIF files stored in base64 encoding (Tk 4.2 or later).
Du müsstest die Bilddaten also noch mit base64 kodieren..
.. und hoffentlich verwendest du nur GIFs ;)

Verfasst: Mittwoch 14. Juni 2006, 10:46
von maprie
base64 war ein guter Tip, allerdings hab ich zuerst gedacht, das wäre eine Option für das Abspeichern von gifs. Ich hab also in diversen Bildverarbeitungsprogrammen versucht, meine gifs als base64 abzuspeichern, natürlich erfolglos ;)

Das Problem ist jetzt gelöst, der Code sieht so aus:

Code: Alles auswählen

import zipfile
import base64

zipdatei = zipfile.ZipFile("datei.zip",'r')
bild64 = base64.encodestring (zipdatei.read("datei_in_zip"))
bildTk = PhotoImage()
bildTk.put (bild64)
Angeblich ist die Methode .put besser als das Einlesen per Option data, da eine Objektkopie eingespart wird.
Danke für die Hilfe!