Python Turtle Module-sauvegarder une image

je voudrais savoir comment sauvegarder une image graphique bitmap ou vector après avoir créé un dessin avec le module turtle de python. Après un peu de googling Je ne peux pas trouver une réponse facile. J'ai trouvé un module appelé canvas2svg, mais je suis très nouveau pour python et je ne sais pas comment installer le module. Est-il construit de façon à enregistrer des images de la tortue toile? Si ce n'est pas le cas, où puis-je mettre des modules personnalisés pour python sur une machine Ubuntu?

24
demandé sur albertjan 2010-11-01 20:54:11

2 réponses

from Tkinter import *
from turtle import *
import turtle


forward(100)
ts = turtle.getscreen()

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

cela vous aidera; j'ai eu le même problème, je L'ai googlé, mais je l'ai résolu en lisant la source du module tortue.

l'objet canvas (tkinter) a la fonction postscript; vous pouvez l'utiliser.

le module tortue a "getscreen" qui vous donne l '"écran tortue" qui vous donne la toile de Tiknter dans laquelle la tortue dessine.

cela vous sauvera dans le format PostScript encapsulé, de sorte que vous pouvez l'utiliser dans GIMP à coup sûr, mais il y a les autres téléspectateurs. Ou, vous pouvez Google comment faire un .gif à partir de ce.

29
répondu KilyenOrs 2011-05-18 21:27:57

j'ai écrit un SvgTurtle classe qui supporte L'interface standard Turtle de Python, et écrit un fichier SVG en utilisant le svgwrite module. Installer svgwrite, télécharger svg_turtle.py, et ensuite appeler comme ceci:

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()
1
répondu Don Kirkby 2018-02-05 20:28:11