Я хотел бы выяснить, как сохранить растровое изображение или изображение векторной графики после создания рисунка с модулем черепахи python. После небольшого поиска в Google я не могу найти простого ответа. Я нашел модуль под названием canvas2svg, но я новичок в python и не знаю как установить модуль. Есть ли какой-нибудь встроенный способ сохранения изображений холста черепахи? Если нет, где мне разместить пользовательские модули для Python на машине с Ubuntu?
Модуль Python Turtle - Сохранение изображения
Ответы (5)
from Tkinter import *
from turtle import *
import turtle
forward(100)
ts = turtle.getscreen()
ts.getcanvas().postscript(file="duck.eps")
Это вам поможет; У меня была такая же проблема, я погуглил, но решил, прочитав исходный код модуля черепахи.
Объект canvas (tkinter) имеет функцию postscript; вы можете использовать это.
В модуле черепахи есть экран "getscreen", который дает вам "экран черепахи", который дает вам холст Tiknter, на котором рисует черепаха.
Это сохранит вас в инкапсулированном формате PostScript, поэтому вы наверняка сможете использовать его в GIMP, но есть и другие программы просмотра. Или вы можете погуглить, как сделать из этого .gif.
Я написал класс SvgTurtle
, который поддерживает стандартный интерфейс Turtle из Python, и записывает файл SVG с помощью svgwrite модуль. Установите svgwrite, загрузите _2 _, а затем назовите это так:
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()
draw_spiral()
- ›draw_spiral()
В def write_file
- person Mr.Weathers; 05.02.2018
draw_spiral()
- ›draw_func()
, @ Mr.Weathers. Вы правы, это то, что я хотел сделать, поэтому я исправил это.
- person Don Kirkby; 05.02.2018
У меня не работает. Как сделать так, чтобы вывод сохранялся перед каждой очисткой экрана?
from turtle import *
from random import *
import time
def randomcolour():
colormode(255)
red = randint(0, 255)
green = randint(0, 255)
blue = randint(0, 255)
color(red, green, blue)
def randomplace():
penup()
x = randint(-100, 100)
y = randint(-100, 100)
goto(x, y)
pendown()
def randomheading():
heading = randint(0, 360)
setheading(heading)
def drawrectangle():
randomcolour()
randomplace()
hideturtle()
length = randint(10, 100)
height = randint(10, 100)
begin_fill()
forward(length)
right(90)
forward(height)
right(90)
forward(length)
right(90)
forward(height)
right(90)
end_fill()
shape("turtle")
speed(0)
for i in range(1, 30):
randomcolour()
randomplace()
randomheading()
stamp()
def drawcircle():
radius = randint(5, 100)
randomcolour()
randomplace()
dot(radius)
def drawstar():
randomcolour()
randomplace()
randomheading()
begin_fill()
size = randint(20, 100)
for side in range(5):
left(144)
forward(size)
end_fill()
clear()
setheading(0)
for i in range(20):
drawrectangle()
clear()
for i in range(50):
drawcircle()
clear()
for i in range(20):
sleep(5000)
drawstar()
Чтобы сохранить изображение черепахи, вы открываете python, пишете код черепахи и нажимаете Ctrl shift s. В окне появится всплывающее окно. Дважды щелкните python3.9, затем дважды щелкните Lib
. Продолжайте прокручивать вниз и под модулем Tkinter будет демо-папка turtle. Дважды щелкните по нему, и вы можете сохранить файлы черепахи.
.
(точки) вместо повторяющихся предложений. Это помогает пользователю перевести дух при чтении. Хотя я ценю время, которое вы вложили в этот пост, чтобы сделать его очень подробным. Держись! Не сдавайся!
- person BuddyBob; 06.06.2021
Если то, что я сказал ранее, не работает, вот картинка, пошаговая:
- Нажмите Ctrl + Shift + S, 2. Появится это изображение: https://i.stack.imgur.com/ywqdT.png,
- Щелкните папку lib,
- Вы попадете сюда: https://i.stack.imgur.com/QJcH2.png < / а>,
- В строке поиска внизу ищите: turtledemo,
- Вы попадете сюда: https://i.stack.imgur.com/SZOHu.png < / а>,
- В текстовой строке внизу введите имя файла и нажмите Enter,
- Затем место, в котором вы его сохранили, закроется, и вы сможете нажать Fn + F5,
- Затем он запустит программу (если не попытается повторить все шаги)
Я делаю это на Windows 10 и не знаю, работает ли это на других компьютерах.