Frage

Ich möchte herausfinden, wie ein Bitmap oder Vektorgrafiken Bild zu speichern, nachdem eine Zeichnung mit Python Schildkröte Modul zu schaffen. Nach einem bisschen googeln kann ich nicht eine einfache Antwort finden. Ich habe ein Modul canvas2svg , aber ich bin sehr neu in Python genannt finden, und ich weiß nicht, wie das Modul zu installieren. Gibt es irgendeine Art und Weise in gebaut Bilder der Schildkröte Leinwand zu retten? Wenn nicht, wo platziere ich benutzerdefinierte Module für Python auf einem Ubuntu-Rechner?

War es hilfreich?

Lösung

from Tkinter import *
from turtle import *
import turtle


forward(100)
ts = turtle.getscreen()

ts.getcanvas().postscript(file="duck.eps")

Dies wird Ihnen helfen; Ich hatte das gleiche Problem, ich gegoogelt, aber löste es durch die Quelle der Schildkröte Modul zu lesen.

Die Leinwand (tkinter) Objekt hat die Postscript-Funktion; Sie können es verwenden.

Die Schildkröte Modul hat „GetScreen“, die Ihnen die „Schildkröte Bildschirm“ gibt Ihnen die Tiknter Leinwand gibt, in dem die Schildkröte Zeichnung wird.

Dies wird Ihnen in Encapsulated Postscript-Format zu speichern, so dass Sie es in GIMP sicher verwenden können, aber es gibt auch andere Zuschauer. Oder Sie können Google, wie ein GIF daraus zu machen.

Andere Tipps

Ich schrieb eine SvgTurtle Klasse, unterstützt die Standard-Turtle-Schnittstelle von Python, und schreibt eine SVG-Datei, die svgwrite Modul. Installieren Sie svgwrite herunterladen svg_turtle.py , und es dann wie folgt aufrufen:

from turtle import *  # @UnusedWildImport

import svgwrite

from svg_turtle import SvgTurtle


def draw_spiral():
    fillcolor('blue')
    begin_fill()
    for i in range(20):
        d = 50 + i*i*1.5
        pencolor(0, 0.05*i, 0)
        width(i)
        forward(d)
        right(144)
    end_fill()


def write_file(draw_func, filename, size):
    drawing = svgwrite.Drawing(filename, size=size)
    drawing.add(drawing.rect(fill='white', size=("100%", "100%")))
    t = SvgTurtle(drawing)
    Turtle._screen = t.screen
    Turtle._pen = t
    draw_func()
    drawing.save()


def main():
    write_file(draw_spiral, 'example.svg', size=("500px", "500px"))
    print('Done.')


if __name__ == '__main__':
    main()
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top