Python Turtle Modul

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
püthon93
User
Beiträge: 2
Registriert: Montag 7. Februar 2011, 13:40

Hallo,

ich möchte eine mit Turtle (Python 3.2) erstellte Grafik in Postscript exportieren. Wäre froh, wenn die Lösung nicht allzu kompliziert wäre :oops:

Gruß
püthon93
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

Sollte eigentlich recht einfach sein da es dafür eine Methode gibt, probier mal ob mein kleiner Script geht:

Code: Alles auswählen

#!/usr/bin/env python3
import tkinter
import turtle

if __name__ == "__main__":
    root = tkinter.Tk()
    
    frame = turtle.ScrolledCanvas(root)
    frame.pack(expand=True, fill="both")
    
    screen = turtle.TurtleScreen(frame, "logo")
    t1 = turtle.RawTurtle(screen)
    
    t1.speed(0)
    for _ in range(24):
        t1.forward(100)
        t1.left(75)
    t1.speed(1)

    cv = frame._canvas
    cv.postscript(file="export.ps", colormode="color")

    root.mainloop()
und Willkommen im Forum.
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
püthon93
User
Beiträge: 2
Registriert: Montag 7. Februar 2011, 13:40

Vielen Vielen Dank für die schnelle Antwort!!! Funktioniert exzellent!!

Gruß
püthon93
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

Kein Ursache, ein kleiner Hinweis noch. Dort wo ich auf den Frame zugreife "frame._canvas", der Bodenstrich zeigt eigentlich an das dies nicht zu offiziellen API der Klasse gehört. Hier hat man nur leider keine andere Wahl, da das Canvas die Daten von der Zeichnung enthält und man nur so an das Canvas rankommt. Eine alternative wäre das ScrolledCanvas einfach nicht zu nutzen und einfach ein normales "tkinter.Canvas" zu nehmen, dann verliert man natürlich den Vorteil der Scrollbars oder muss diese sich selber scripten.
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
Antworten