第17章 画像の表示〜前半〜


今回は画像を表示してみたいと思います。

↑を分かりやすい場所に保存して置いてください。
	picload "program001.bmp"
	stop

これが画像を表示するプログラムです。
実行する前にプログラムを、画像がある場所と同じ場所に「名前を付けて保存」しておいてください。

picload命令は、指定されたファイル名の画像を読み込んで表示します。
""で挟まれた部分がファイル名です。ファイル名には、ちゃんと拡張子をつけましょう。
bmp、またはjpgやmagっていうのが拡張子です。
この3種類以外の画像は表示できませんので、あしからず。

picload命令では、HSPがある場所、又はプログラムを保存した場所から画像を読み込みます。

実行すると、なにやらウィンドウが小さくなってしまったと思います。
これを解決するのが次のプログラムです。
	buffer 2
	picload "program001.bmp"
	gsel 0,1
	pos 300,200:gcopy 2,0,0,32,32
	stop

あたらしい命令が3つも出てきましたね。
あ、これも実行する前には画像と同じ場所にプログラムを保存しておいてくださいね(*^^)

まずはbuffer命令から説明します。これはscreen命令に良く似た命令です。
ウィンドウIDが2のウィンドウを作っています。ただし、buffer命令で作ったウィンドウは見えません。
こういうウィンドウを仮想ウィンドウといいます。
仮想ウィンドウも普通のウィンドウと同じで、2〜31まで作ることができます。

このプログラムでは、ウィンドウIDが2のウィンドウをまず作ります。
ウィンドウを作ると、そのウィンドウが現在の描画先になります。
描画先とは、文字や画像を表示したときにそれがどのウィンドウに表示されるかのことです。

仮想ウィンドウに、picload命令で画像を読み込んでおきます。
そして、その読み込んでおいた画像が人間の目に見えるように、他のウィンドウにコピーしてやります。

他のウィンドウにコピーする命令が、gcopyです。
ですが、このままコピーしてきても描画先はウィンドウID2の仮想ウィンドウのままですので、
やはり目には見えません。

そこで、gselを使います。
gselの右に、描画先にしたいウィンドウのIDを書きます。
HSPを実行したときに表示されるウィンドウのIDは0でしたね。
その右の数字には次のような意味があります。
-1 : 指定したウインドゥを非表示にする
0 : 指定したウインドゥに特に影響はない
1 : 指定したウインドゥがアクティブになる
2 : 指定したウインドゥがアクティブになり、さらに常に最前面になる
ここでは1にしていますが、別に0でも2でも構いません。

描画先を変えて、やっとgcopy命令を使います。
gcopy 2,0,0,32,32
最初の数字は、どのIDのウィンドウからコピーしてくるかです。
次の2つの数字は、そのウィンドウのどの座標からコピーするかです。
最後の2つの数字は、コピーしてくる大きさです。

gcopyで表示する画像の位置も、pos命令で変えることができます。


うぅ〜、今回はかなり難しくなってしまった気がします(^^;)
使い方さえ分かっていれば、それで構いませんが・・・。
いつも言いますが、分からなかったら質問してくださいね。

第17章後半

戻る