009 画像の抜き色の指定

画像の特定部分を透明色として描画させることができます。

読み込んだ2つのビットマップ画像を重ねて描画させてみます。
下のビットマップ(横640ドット縦480ドット)と


下のビットマップ(縦横256ドット)を読み込んで


下のように重ねて描画させます。


もっとも簡単なプログラムは以下のようになります。

サンプルプログラム「2d 009」

CH = G@SETUP(640, 480, 16, 1)
B1 = G@CHRLOAD("DATA1.BMP")
B2 = G@CHRLOAD("BACK.BMP")
LOOP
 G@CHRCLEAR(CH)
 G@CHRRECT(CH, 0, 0)
 G@CHRCOPYF(B2, CH)
 G@CHRRECT(CH, 300, 200, 555, 455)
 G@CHRCOPY(B1, CH)
 G@FLIP()
ENDLOOP

DATA1.BMP画像の黒色(赤=0、緑=0、青=1)の部分が透明色と認識し描画を行います。黒色を透明色ではなく描画させたい場合は、限りなく黒色(例えば赤=0、緑=0、青=1)で描いた部分は透明化されず描画します。

黒色以外の色を透明色にしたい場合はG@CHRLOADCKEY関数で指定することができます。ただし、G@CHRLOADCKEY関数はG@CHRLOAD関数で画像を読み込む時にのみ影響を受けるので、読み込んだ後にG@CHRLOADCKEY関数で色を変更しても読み込み時の抜き色は変更されません。