Pregunta

Me gustaría encontrar la manera de guardar una imagen de mapa de bits o gráficos vectoriales después de crear un dibujo con el módulo de tortuga de pitón. Después de un poco de google no puedo encontrar una respuesta fácil. Lo que encontrar un módulo llamado canvas2svg , pero soy muy nuevo en Python y no sé cómo instalar el módulo. ¿Hay alguna construida en forma de guardar las imágenes de la lona de la tortuga? Si no es así, ¿dónde pongo módulos personalizados para el pitón en una máquina de Ubuntu?

¿Fue útil?

Solución

from Tkinter import *
from turtle import *
import turtle


forward(100)
ts = turtle.getscreen()

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

Esto le ayudará; Yo tenía el mismo problema, lo busqué en Google, pero lo resolvió mediante la lectura de la fuente del módulo de tortuga.

El (tkinter) objeto de la lona tiene la función postscript; se puede usar.

El módulo de tortuga tiene "getscreen" que le da la "pantalla de tortuga", que le da el lienzo Tiknter en el que la tortuga es el dibujo.

Esto le ahorrará en formato PostScript encapsulado, para que pueda usarlo en GIMP con seguridad, pero hay otros espectadores también. O bien, puede Google cómo hacer un gif de esta.

Otros consejos

Me escribió una clase SvgTurtle que admita la interfaz estándar de tortuga de Python, y escribe un archivo SVG mediante el svgwrite módulo. Instalar svgwrite, descarga svg_turtle.py , y luego llamar de esta manera:

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()
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top