Bilder aus zip-Datein lesen

Fragen zu Tkinter.
Antworten
maprie
User
Beiträge: 8
Registriert: Dienstag 13. Juni 2006, 22:51

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?
milahu
User
Beiträge: 4
Registriert: Samstag 10. Juni 2006, 22:59
Wohnort: Bayern
Kontaktdaten:

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 ;)
maprie
User
Beiträge: 8
Registriert: Dienstag 13. Juni 2006, 22:51

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!
Antworten