「1年たって、手書きから自動描画へ」で触れたような画像は、Graphviz + PyGraphviz で描いています。出力された画像データをお手軽に表示するために、PIL (Python Imaging Library) を使ってみました。
単に画像表示にPILを使うというのはまったくの牛刀なんですが、他になんか使う機会もあるかな、ということでインストール。http://www.pythonware.com/products/pil/ から、ソースキットまたはWindowsインストーラーをダウンロードできます。何の問題もなくインストールできます。
実際に使ったのは、Imageオブジェクトのshow()というメソッドです。中身を見てみると、Widoowsの場合、画像データをBMP形式の一時ファイルに書き出して、BMPに関連付けられた外部プログラムを起動しているだけです。
仮に一時ファイルの名前が tmptmp.bmp だとすると(仮に、ねっ)、start /wait tmptmp.bmp && del /f tmptmp.bmp というコマンドラインが、os.system関数により実行されます。同じことを自前でやってもたいした手間ではないので*1、show()を使うためだけにPILをインストールするのは「牛刀」だと思うわけです。
さて、このshow()を実行してみると、… うまく動かない。 なんてこったい。
Windows7のデフォルトでは、BMPを始めとする画像ファイルの拡張子に Windows Live Photo Gallery が関連付けられていますが、コイツがよろしくないもよう*2。この機会に、定評があるらしき IrfanView に置き換えることにしました。
IrfanViewのインストールはZIPファイルを展開しただけなので、拡張子とプログラムの関連付けは手作業で行いました。「コントロールパネル>プログラム>既定のプログラム>関連付けを設定する」で出来ます(操作性が悪くてめんどくさいが)。これでうまくいって、快適に画像のビューイングが行えるようになりました。