Postscriptでプログラムから絵を描こうとして, 最初STkを使おうと思いましたが
結局 Python から Tkinter (Tk) を使うことにしたところ,
保存のところで謎のハマリ。
#!/bin/env python
from Tkinter import *
canvas = Canvas(width=200,height=150)
canvas.create_oval(10,10,140,140)
canvas.pack()
canvas.postscript(file="hoge.ps")
は1x1のPostscriptを生成するだけでまったく内容を保存できない。ただし, % python
として手で上のコードを入力するとセーブできる。謎。
結構調べたところ, スクリプトからの場合は, canvas.pack() の前に canvas.update()
を実行しなければ反映されないらしい。そんなの書いてないヨ!
Web上の情報も, ほとんどはinteractiveなPythonセッションの話しか書いていないので,
この場合参考にならなかった。
ということで, かなり基本的なTipsだと思うので, 共有しておきます。