Seite 1 von 1

tkinter canvas als bild speichern

Verfasst: Montag 21. November 2011, 13:55
von Lasse
Ich möchte auf dem Bildschirm zeichnen und danach das ganze als Bild speichern. Verwenden tue ich Python 3. Nur wollte ich eigendlich tkinter nehmen, doch habe ich gesehen, dass man dort keine Bilder wirklich speichern kann. Ist das hier eine Lösung: http://www.daniweb.com/software-develop ... ode/216929
Ansonsten, welches Toolkit könnte man noch nehmen?

Re: tkinter canvas als bild speichern

Verfasst: Montag 21. November 2011, 15:06
von EyDu
Warum probierst du es nicht einfach mal aus? Den Code zu kopieren und ihn kurz durch den Interpreter zu schicken ist ja nun nicht unbedingt viel Arbeit.

Re: tkinter canvas als bild speichern

Verfasst: Montag 21. November 2011, 15:37
von Lasse
Den Code habe ich schon getestet, er funktioniert, doch wenn man Zeile 71-76 anschaut sieht man, das mit PIL die beiden Linien ein 2. Mal gezeichnet werden und nicht übernommen werden. Ich werde einige Punkte und Linien mehr haben und die alle extra ein 2. Mal zu zeichnen, halte ich für schlecht. Eigendlich möchte ich nur die Pixel vom tkinter canvas als bild speichern.

Re: tkinter canvas als bild speichern

Verfasst: Montag 21. November 2011, 16:16
von Lasse
Habe nochmal im Internet geschaut und das hier entdeckt:

Code: Alles auswählen

img = Image.open("draw.ps")
img.save("draw.jpg", "JPEG")
Habe es in den Beispielcode oben eingebaut es kam aber der Fehler:

Code: Alles auswählen

Traceback (most recent call last):
  File "C:\Documents and Settings\MrX\My Documents\müll.py", line 82, in <module>
    img2.save("xxx.jpg", "JPEG")
  File "C:\Program Files\Python\lib\site-packages\PIL\Image.py", line 1406, in save
    self.load()
  File "C:\Program Files\Python\lib\site-packages\PIL\EpsImagePlugin.py", line 283, in load
    self.im = Ghostscript(self.tile, self.size, self.fp)
  File "C:\Program Files\Python\lib\site-packages\PIL\EpsImagePlugin.py", line 72, in Ghostscript
    gs.write(s)
IOError: [Errno 0] Error
Also jetzt die neue Frage: Wie konvertiere ich "EPS" richtig in "JPEG" oder "GIF" mit PIL?

Danke für eure Hilfe.

Edit: Es gibt noch gar keine Python Imaging Libary PIL für Python3. Ich hatte ersteinmal mit Python2 getestet da das Beispiel in 2 ist, jetzt aber entdeckt das es noch kein PIL für Python 3 gibt. Was nehme ich dann um ein tkinter canvas als Bild (JPEG o.ä.) zu speichern?