原典:
http://compasstech.com.au/TNS_Authoring/Scripting/script_tut7.html
レッスン7.1「画像の設定と表示」
(訳註)原文の説明は古くて現状に合っていないので、『ガイドブック』から引用した。
-----------------ここから引用部分-----------------
以下の手順でスクリプト・アプリケーションに画像を挿入します。
画像を[Resources]タブに追加するときは次のようにします。
1. [Resource]タブをクリックします。
2. [+]ボタンをクリックします。
3. 画像のファイル名をクリックします。
4. [Open]をクリックします。
5. デフォルトの画像名のままにするか、新しい名前をボックスに入力して画像名を変更するか、いずれかを行います(例:newimage)。
6. [OK]をクリックします。
注:画像のサムネールが画面の右下に表示されます。画像のファイル名は、画面左下の画像リストに表示されます。
7. 必要なら、画像名を右クリックしてから[Rename](名前変更)、[Copy Name](名前のコピー)、[Preview](プレビュー)、[Remove](削除)のいずれかをクリックします。画像は[-]ボタンで削除することもできます。
複数の画像を[Resources]タブに追加するするときは次のようにします。
1. [Resource]タブをクリックします。
2. [+]ボタンをクリックします。
3. [Files of Type]メニューから[Comma Separated Values (*.csv)]を選択します。
4. 目的の.csvファイルを選択します。
注:.csv形式は、カンマで区切られた2列から成ります。1列目は、コードに使われる画像リソースのローカル名です。2列目は、現行システム上での画像への絶対パスです。
Windowsでの例:
bridge,C:\images\bridge.jpg
house,C:\images\house.jpg
5. [Open]をクリックします。
6. 必要なら、画像名を右クリックしてから[Rename](名前変更)、[Copy Name](名前のコピー)、[Preview](プレビュー)、[Remove](削除)のいずれかをクリックします。画像は[-]ボタンで削除することもできます。
画像を呼び出すスクリプトを作成するときは次のようにします。
1. スクリプト・ライン・ボックスに以下のようにスクリプトを入力します。
myimage = image.new(_R.IMG.img_1)
function on.paint (gc)
gc:drawImage(myimage, 30, 30)
end
注:上のimg_1は実際の画像名に置き換えてください。
2. [SetScript]をクリックしてスクリプトを保存します。画像が[Document Preview]画面に表示されます。
3. [FocusScript]をクリックして、ドキュメント内のページのうち、スクリプト・アプリケーションのアタッチ先となるページにフォーカスをセットします。
注:TI-Nspireドキュメントではページにフォーカスがセットされます。PublishView™ドキュメントでは、ページ上のフレームにフォーカスがセットされます。
複数の画像を呼び出すスクリプトを作成するときは次のようにします。
1. スクリプト・ライン・ボックスに以下のようにスクリプトを入力します。
myimg = { }
for name, data in pairs (_R.IMG)
myimg [name] = image.new(data)
end
function on.paint (gc)
gc:drawImage (myimg[imagename], 30, 30)
end
2. [SetScript]をクリックしてスクリプトを保存します。画像が[Document Preview]画面に表示されます。
3. [FocusScript]をクリックして、ドキュメント内のページのうち、スクリプト・アプリケーションのアタッチ先となるページにフォーカスをセットします。
注:TI-Nspireドキュメントではページにフォーカスがセットされます。PublishView™ドキュメントでは、ページ上のフレームにフォーカスがセットされます。
-----------------ここまで引用部分-----------------
かなり大変な作業でしたね。それ以外の作業、たとえばウィンドウの大きさに合わせること、ウィンドウの中央に配置すること、比率を変えること、画像をダイナミックに動かすこと、といった処理は、これまでのレッスンを応用するだけでできます。