既に、一般ウィジェット、ダイアログ、テキストウィジェットなどにイメージを表示する方法を簡単に解説しました(この先の章ではキャンバスでもイメージを扱います)。このセクションでは、それらに共通するイメージデータの生成方法や、イメージの加工、イメージをファイルに出力する方法など、付加的な機能を解説します。
- 注
イメージを扱うプログラムは起動後の最初にイメージを表示する際、少し待たされます。(一般的なマシンで2秒〜数秒といったところでPCの性能も関係します) ただ、一度でもイメージ表示がおこなわれると次回からは待ちは無くなります。(OS再起動後はまた待ちが生じます)。
恐れ入りますがこの時間待ちはバグではなく、GUIエンジンの特性によるものとしてご承知をお願いします。(将来のGUIエンジンの版によって解消される可能性もありますが現在はまだ未定です)
<ファイル名>で イメージをロード → イメージID
イメージ1は ID "image\MindIcon.png"を イメージをロードし イメージ1に 入れ
<旧イメージID>を <倍数>で イメージを拡大 → 新イメージID
<旧イメージID>を <倍数>で イメージを縮小 → 新イメージID
<ウィジェットID>の ウィジェットのイメージを取得 → イメージID
ラベル1は ID ラベルイメージは ID ラベル1の ウィジェットのイメージを取得し ラベルイメージに 入れ
ウィンドウのイメージは ID メインウィンドウの ウィジェットのイメージを取得し ウィンドウのイメージに 入れ
記:ウィジェットのイメージは個々のウィジェットの囲み線などが省かれ中身だけとなるため、画面で見るウィジットに比べると質素な感じがしますが、そのような仕様であるとご承知ください。(ウィンドウのイメージではタイトルバーも省かれます)
<イメージID>を <フォーマット>と <ファイル名>で イメージをファイルに出力 → ・ フォーマットとして以下のいずれかの文字列を与える "gif" "jpeg" "png" "bmp"
ラベルイメージは ID ラベル1の ウィジェットのイメージを取得し ラベルイメージに 入れ ラベルイメージを "png"と "c:\temp\image-of-label.png"で イメージをファイルに出力する
- 注
- 指定したファイル名の有意性検査はMindレベルでおこなっていますがその後のファイルアクセスに伴うエラー発生はMind側からは関与できないため、誤ったファイル名を与えたり、既存ファイルへの出力、出力先のフォルダがReadOnlyなどの場合、GUIエンジン(Tcl/Tk)レベルでエラーが発生することかありますが、そのような仕様であるとご承知ください。
- 注
- GUIエンジンの特性上、ファイル名に空白を含んだり、ファイル名やディレクトリ名に日本語が使われていると誤動作することがあります。
注: "image-get-widgetimages.exe" を起動する前に、 "c:\temp" というディレクトリを(もし無ければ)作成しておいてください。
注: 透明色の扱いが無いなど、細かなところでは専用の変換ツールのようにいかないものがあるかも知れませんがご了承ください。