Python Turtleモジュール - 画像を保存します
-
28-09-2019 - |
質問
Pythonのタートルモジュールを使用して図面を作成した後、ビットマップまたはベクトルグラフィックスイメージを保存する方法を見つけたいと思います。少しグーグルで、簡単な答えが見つかりません。呼ばれるモジュールを見つけました Canvas2SVG, 、しかし、私はPythonに非常に初めてで、モジュールのインストール方法がわかりません。カメのキャンバスの画像を保存するためのいくつかの構築された方法はありますか?そうでない場合、Python用のカスタムモジュールをUbuntuマシンに配置しますか?
解決
from Tkinter import *
from turtle import *
import turtle
forward(100)
ts = turtle.getscreen()
ts.getcanvas().postscript(file="duck.eps")
これはあなたに役立ちます。私は同じ問題を抱えていましたが、グーグルで検索しましたが、タートルモジュールのソースを読んで解決しました。
Canvas(TKINTER)オブジェクトには、PostScript関数があります。使用できます。
タートルモジュールには「GetScreen」があり、「タートルスクリーン」が提供され、タートルが描いているティクンターキャンバスが得られます。
これにより、カプセル化されたPostScript形式で節約できるため、GIMPで使用できますが、他の視聴者もいます。または、これから.gifを作成する方法をグーグルで検索することができます。
他のヒント
私は書いた SvgTurtle
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_func()
drawing.save()
def main():
write_file(draw_spiral, 'example.svg', size=("500px", "500px"))
print('Done.')
if __name__ == '__main__':
main()
所属していません StackOverflow