画像を表示する2

	buffer 2 : picload "hsp2ttl.jpg"
	gsel 0
	gcopy 2,50,50,100,60
	stop

先に説明したpicloadは頻繁に画像を書きこむのには向いていない命令です。 ゲームなどで良く使うのはこのgcopy命令で、ウィンドウ画面のコピーを 行うものです。使い方はbuffer命令で見えないウィンドウを作成、picloadで画像を 描画、その後目的のウィンドウにコピーして描画、という風に使います。 gsel命令でコピー先のウィンドウIDを指定します。gcopyの第1パラメータは、コピー元のウィンドウid 。第2,3パラメータは、コピー元の左上の座標。第4,5パラメータはコピーのサイズです。 大きな画像を一度bufferに描画した後は、必要な部分をgcopyでコピー描画すればいいので トランプなど一枚にまとめた絵を作っておけば画像ファイルの読み出しは一回で済みます。


	buffer 2 : picload "hsp2ttl.jpg"
	gsel 0
	gzoom 200,120,2,50,50,100,60
	stop

先ほどと違うのはgcopyがgzoomになっていると いう所です。 gzoom命令は変倍コピーです。 第1,2パラメータでコピーするサイズを指定します。 第3パラメータ以降はgcopyの第1パラメータからと同じです。 この場合は、コピー元のサイズが100×60、コピー後は200×120(二倍)になってます。 ウィンドウIDの指定が第3パラメータになっていることに注意してください。


	buffer 2 : picload "hsp2ttl.jpg"
	gsel 0
	gmode ,100,60
	gcopy 2,50,50
	stop

gcopyでコピーのサイズを決めるときに毎回同じサイズ(トランプとかマップとか)で有るのであれば 毎回パラメータにサイズを書くのは面倒!ということで、gmode命令でコピーサイズの指定 ができます。第2,3パラメータでサイズを指定します。第1パラメータは省略したほうが分かりやすいと思います。 gmodeの注意は、コピー先(gselで指定されている)のウィンドウに対して指定する必要があることです。 逆にいうと、コピー元のウィンドウIDにgmodeをやっても意味が無いということです。 複数のウィンドウを作成した際には注意しましょう。


	buffer 2 : picload "hsp2ttl.jpg"
	gsel 0
	gmode 6,640,200,150
	gcopy 2
	stop

実際にgmode命令を使用する頻度が多いのはコピーサイズだけの指定よりもコピーモード設定 として使う場合のほうが多いと思います。このコピーモードの指定はgcopy専用です。gmodeには影響しません。 gmodeとgcopyは対で使うものだと思ってもいいかもしれません。 コピーモードは第1パラメータで指定し、次の7種類が有ります。

0:通常コピー
1:メモリ間コピー(高速コピー)
2:透明色コピー(rgb:0,0,0の黒はコピーされない。透明)
3:半透明合成コピー
4:透明色付半透明合成コピー(2,3の組み合わせ)
5:色加算合成コピー
6:色減算合成コピー

2〜6のコピーモードはフルカラーモードのウィンドウ同士(screen,bgscr,bufferの第4パラメータが0)の時にしか 使えません。
1はフルカラーモード同士、パレットモード同士でなければうまく行きません。
3〜6は第4パラメータで濃くコピーするか薄くコピーするか(ブレンド率)を決めます。
5,6は言葉で説明するより実際にやってみたほうが分かると思います。ただし、5のコピーモード を試すときはウィンドウは白で意味がありません。同様に6の場合は黒では意味が無いので注意してください。 なぜなら、光は、色を足せば白に近づいて、色を引けば黒に近づくからです。


■ 目次へ戻る ■

テレワークならECナビ Yahoo 楽天 LINEがデータ消費ゼロで月額500円〜!
無料ホームページ 無料のクレジットカード 海外格安航空券 海外旅行保険が無料! 海外ホテル