必要があって展覧会に展示する作品に添付するcaptionを自動生成するプログラムを作ってみた。問題はtkinterで作った画面を画像ファイルにして印刷する工程である。
tkinterのcanvasウイジェット上にcaptionのイメージを作成し、このイメージを画像ファイルとして保存する。canvasウイジェットには自身が作ったイメージをpostscriptファイルにする機能があるが、日本語に取り扱いができない。そこで試みたことは画面の部分スクリーンショットで、canvasの部分を切り取って画像ファイルとして保存する。この方法を使った。
この部分の処理はPILモジュールのimagegrabとwin32guiを使った。win32guiでcanvasを含むwindowを特定し、imagegrabでその窓のcanvas部分だけを切る取ることをした。
作成例
ユーザインタフェイスは以下のような感じ:
全体のプログラムはここで見れる。