Я хотел бы выяснить, как сохранить растровое изображение или изображение векторной графики после создания чертежа с модулем черепахи python. После немногого поиска я не могу найти легкий ответ. Я нашел модуль под названием canvas2svg, но я очень новичок в python, и я не знаю, как установить модуль. Есть ли встроенный способ сохранить изображения холста черепахи? Если нет, где я ставил пользовательские модули для python на машине Ubuntu?
Python Turtle Module - сохранение изображения
Ответ 1
from Tkinter import *
from turtle import *
import turtle
forward(100)
ts = turtle.getscreen()
ts.getcanvas().postscript(file="duck.eps")
Это поможет вам; У меня была та же проблема, я разобрал ее, но решил ее, читая источник модуля черепахи.
Объект canvas (tkinter) имеет функцию postscript; вы можете использовать его.
В модуле черепахи есть "экран для получения", который дает вам "экран черепахи", который дает вам холст Тикнер, в котором рисуется черепаха.
Это спасет вас в инкапсулированном формате PostScript, поэтому вы можете использовать его в GIMP точно, но есть и другие зрители. Или вы можете Google, как сделать из этого .gif.
Ответ 2
Я написал класс SvgTurtle
, который поддерживает стандартный интерфейс Turtle из Python и записывает SVG файл, используя svgwrite модуль, Установите svgwrite, скачайте svg_turtle.py
, а затем вызовите его следующим образом:
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_spiral()
drawing.save()
def main():
write_file(draw_spiral, 'example.svg', size=("500px", "500px"))
print('Done.')
if __name__ == '__main__':
main()