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!