グラデーションマップフィルタは意図された通りの動作になった様で何よりです
DrawMask の TransMode の説明は「『マスク画面にマスク画像を描画する際』の透過色」の説明です
例えばこちらのマスクのサンプルプログラムの
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
int MaskHandle ;
// ウインドウモードで起動
ChangeWindowMode( TRUE ) ;
if( DxLib_Init() == -1 ) // DXライブラリ初期化処理
{
return -1; // エラーが起きたら直ちに終了
}
// マスク画面を作成します
CreateMaskScreen() ;
// マスク画像をロードします
MaskHandle = LoadMask( "testMask.bmp" ) ;
// ロードしたマスク画像をマスク画面の左上に描画します
DrawMask( 0 , 0 , MaskHandle , DX_MASKTRANS_NONE ) ;
// 画面いっぱいに赤い四角を描きます
DrawBox( 0 , 0 , 640 , 480 , GetColor( 255 , 0 , 0 ) , TRUE ) ;
// キーの入力待ちをします
WaitKey() ;
// マスク画面を削除します
DeleteMaskScreen() ;
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}
( testMask.bmp はDXライブラリのパッケージの「サンプルプログラム実行用フォルダ」に入っています )
この↓部分を
// ロードしたマスク画像をマスク画面の左上に描画します
DrawMask( 0 , 0 , MaskHandle , DX_MASKTRANS_NONE ) ;
こう↓してみた場合と
// ロードしたマスク画像をマスク画面の左上に描画します
DrawMask( 0 , 0 , MaskHandle , DX_MASKTRANS_NONE ) ;
DrawMask( 0 , 12 , MaskHandle , DX_MASKTRANS_NONE ) ;
こう↓してみた場合とで結果を比較してみると
// ロードしたマスク画像をマスク画面の左上に描画します
DrawMask( 0 , 0 , MaskHandle , DX_MASKTRANS_NONE ) ;
DrawMask( 0 , 12 , MaskHandle , DX_MASKTRANS_BLACK ) ;
違いがわかると思います
改めてご説明しますと、TransMode は
「『マスク画面に既に描かれている内容』に対して DrawMask で新たにマスク画像を上書きする場合に、
透過色処理を行わないか( DX_MASKTRANS_NONE )、
それともマスク画像の白い部分のみ上書きするか( DX_MASKTRANS_BLACK )、
もしくはマスク画像の黒い部分のみ上書きするか( DX_MASKTRANS_WHITE )」
を指定するための引数です
わかり難くてすみません (- -;;