スポンサードリンク
« »


バッファーを利用した画像表示 『HSP3』

2009 年 1 月 2 日 金曜日  【 カテゴリー: HSP3 , 初級


画像を表示するには「picload」命令を使いますが、ゲームなどでは同じ画像を複数利用することがあります。「picload」命令で何度も画像を読み込むのは処理的にすごく無駄です。そこでよく使われる方法が、バッファーという仮想の画面上で「picload」命令により画像を1回だけ読み込み、後はそのバッファーにある画像をコピーして表示させるという方法です。

仮想画面を指定するためには「buffer」命令を使います。

buffer p1,p2,p3,p4

p1: ウィンドウIDを指定します。IDは0~31の範囲で指定します。
p2: 画面サイズのx幅を指定します。(横)
p3: 画面サイズのy幅を指定します。(縦)
p4: 画面モードを指定します。0 フルカラー 1 パレット(256色以下)

(例)
buffer 1                    ; 仮想画面ID1に切り替える
picload "test.bmp"           ; 仮想画面に画像「test.jpg」を読み込む

これで仮想画面ID1に画像が読み込まれました。
次はコピー先に画像をコピーして表示させます。
画像をコピーするには「gmode」命令で画像コピー設定を行い「gcopy」でコピーを実行します。

gmode p1,p2,p3

p1: コピーモードを指定します。
     モード0: 通常モード。そのままコピーする最も標準的なモードです。
     モード1: 画像バッファ間のメモリコピーを行います。
     モード2: 透明色きコピーを行います。透明色になるのはRGBが0(黒)です。
     モード3: 半透明合成コピーを行います。フルカラーのみ使用可能です。
     モード4: 透明色付き半透明合成コピーを行います。
     モード5: 色加算合成コピーを行います。
     モード6: 色減算合成コピーを行います。
p2: コピーするx幅(横)
p3: コピーするy幅(縦)

モードの詳細設定は「hspwiki」を参考にしてください。
(例)
 gmode 2, 100, 100         ;黒を透明化してサイズ100×100でコピー設定する。

 gcopy p1,p2,p3,p4,p5

p1: コピー元画面のウィンドウID
p2: コピー元画面のコピー開始位置(左上x座標)
p3: コピー元画面のコピー開始位置(左上y座標)
p4: コピーする範囲サイズ(横幅)
p5: コピーする範囲サイズ(縦幅)

(例)
gcopy 1, 0, 0  
;ウィンドウID1の画面から(0.0)を左上として「gmode」の設定でコピーし表示する。

p4,p5を設定することにより、標準モードならば「gmode」なしでコピーできるようです。
「gmode」なしでさらに、p4,p5も設定しなければ、32×32のサイズでコピーするようです。
(32×32に縮小ではなくて、左上から32×32の部分のみをコピー)

 

【全体を通してのサンプル】
    buffer 1                 ; ①仮想画面 ウィンドウID1に切り替える
    picload "test.jpg"  ;  ② 仮想画面に画像ファイル読み込み
    screen 0                ; ③ ウィンドウID0の画面に切り替える(コピー先)
    pos 10, 10             ;  ④ カレントポジションを(10,10)にする  
    gmode 2, 50, 100  ;  ⑤コピーモード設定する  
    gcopy 1, 0, 0         ;  ⑥ 画像コピーを実行する
    pos 70, 10             ; ⑦ カレントポジションを(70,10)にする    
    gcopy 1, 50, 0       ;  ⑧ 画像コピーを実行する


仮想画面「ウィンドウID1」にサイズ100×100の「test.jpg」を読み込みます。
②で表示画面に切り替えてコピー処理を行います。
③④⑤で画像の左半分を表示しています。
座標(10,10)にポジションを移し、コピー元の左上(0,0)の位置から横幅50、縦幅100の領域をコピーする。
⑥⑦⑧で画像の右半分を表示しています。
座標(70,10)にポジションを移し、コピー元の左上(50,0)の位置から横幅50、縦幅100の領域をコピーする。


にほんブログ村 IT技術ブログ Webサイト構築へ
にほんブログ村
【WEBサイト構築・プログラムブログ】
ランキング参加中!よろしければ「クリック」お願いします。
にほんブログ村 IT技術ブログ プログラム・プログラマへ
にほんブログ村
2009 年 1 月 2 日 金曜日  【 カテゴリー: HSP3 , 初級

コメントをどうぞ

※管理者による確認後に表示されます。表示までしばらくお待ちください。





デジもの通販