質問

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()
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top