38. αブレンド(その1)
9章で輝度の設定を行いましたが、もとある背景の上に描画する時は、上書きではなく、背景の色も含めてブレンドしながら
描画しなければなりません。背景と今から上書きする画像との色をうまくブレンドする方法をαブレンドといいます。
αブレンドは「透けてる感じ」を出すためのブレンドモードです。
ここではαブレンドを使って見ましょう。どのように違いがあるか100聞は一見に如かずなので、
とりあえず39章まで一気に実行して見てください。
#include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){ ChangeWindowMode( TRUE ) ; //ウィンドウモードに変更 if( DxLib_Init() == -1 ) return -1; // DXライブラリ初期化処理 エラーが起きたら終了 DrawBox(0, 0,640, 50,GetColor(255,255,255),TRUE); //白い四角形を描画 DrawBox(0, 50,640,100,GetColor(255, 0, 0),TRUE); //赤い四角形を描画 SetDrawBright ( 128 , 128 , 128 ) ; //半分の明るさにセット LoadGraphScreen( 0 , 0 , "char.png" , TRUE ) ; //画像を表示。 SetDrawBright ( 255 , 255 , 255 ) ; //元の明るさにリセット SetDrawBlendMode( DX_BLENDMODE_ALPHA , 128 ) ; //以後半分の明るさでαブレンドする LoadGraphScreen( 400 , 0 , "char.png" , TRUE ) ; //画像を表示。 SetDrawBlendMode( DX_BLENDMODE_NOBLEND , 0 ) ; //ブレンドモードをリセットする。 WaitKey() ; // 結果を見るためにキー待ち(『WaitKey』を使用) DxLib_End() ; // DXライブラリ使用の終了処理 return 0 ; // ソフトの終了 }
実行結果
- Remical Soft -