javascriptや.NETキャンバスのようなttkinter.Canvasに描画する方法はありますか?tkinter.Canvasをステートレスに使用する
I.E drawline()後で操作できる行のオブジェクトを格納せずに。
javascriptや.NETキャンバスのようなttkinter.Canvasに描画する方法はありますか?tkinter.Canvasをステートレスに使用する
I.E drawline()後で操作できる行のオブジェクトを格納せずに。
私が知る限り、いいえ。 HTML5キャンバスは、ペイントできるビットマップキャンバスです。 Tkinter canvasはSVGのようなベクトルグラフィックスなので、各オブジェクトのレコードを保持します。
PIL's ImageDraw,aggdraw、またはおそらくpygameを調査するとよいでしょう。
"オブジェクトを格納する"という意味がわかりません。キャンバスはあなたがIDを描くそれぞれのものを与えますが、それを格納する必要はありません。キャンバスがオブジェクトにIDを割り当てるのを防ぐことはできませんが、完全に無視することは自由です。
これが問題であると認識しているところで、どのような問題を解決しようとしていますか?
[編集]明確にする:はい、インタプリタは、描画されるそれぞれの事柄についてある種のデータを保持します。しかし、Pythonオブジェクトの意味でのオブジェクトではありません。これは、描かれたことを描写する、メモリ内の場所によく似ています。
IDを格納する場合は、1,000,000回の呼び出しを呼び出すとオブジェクトをどこかに格納する必要があります(確かに?)。メモリ使用量が増えるでしょうか?他のキャンバスの実装ではピクセルしか操作しませんAFAIK –
ちょうどテストされました:すべての呼び出しでメモリが増加するので、描画呼び出しごとにオブジェクトを格納していると見なすことができます –
はい、メモリはキャンバスに追加される、その周りに道はありません。キャンバスは、1,000,000個のオブジェクトを描画する場合には適していません。あなたは他のツールを検討したいかもしれません。 –