ライブラリ使用者さん、申し訳ありませんがご提示して頂いたプログラムでは正常に動作しそうにありません
画像を徐々に透明にするという用途でしたら SetDrawBlendMode が有用です
画像 Test1.bmp が徐々に透明になったり、再び不透明になったりするプログラムを掲載させて頂きますので
宜しければご覧になってみて下さい
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
int handle, alpha, add;
// ウインドウモードで起動
ChangeWindowMode( TRUE );
// DXライブラリの初期化
if( DxLib_Init() < 0 ) return -1;
// 画像の読み込み
handle = LoadGraph( "Test1.bmp" );
// 描画先を裏画面にする
SetDrawScreen( DX_SCREEN_BACK );
// アルファ値の初期値を完全不透明にする
alpha = 255 ;
// 変化の向きをマイナスにする
add = -1 ;
// メインループ(何かキーが押されたらループを抜ける)
while( ProcessMessage() == 0 && CheckHitKeyAll() == 0 )
{
// アルファ値を変化
alpha += add ;
// アルファ値が 0 か 255 になったら変化の方向を反転する
if( alpha == 0 || alpha == 255 )
{
add = -add ;
}
// 画面を緑で塗りつぶす
DrawBox( 0, 0, 640, 480, GetColor( 0, 255, 0 ), TRUE ) ;
// 画像のアルファブレンドで描画
// ( 描画した後ブレンドモードを元に戻す )
SetDrawBlendMode( DX_BLENDMODE_ALPHA, alpha ) ;
DrawGraph( 0, 0, handle, TRUE );
SetDrawBlendMode( DX_BLENDMODE_NOBLEND, 0 ) ;
// 裏画面の内容を表画面に反映
ScreenFlip();
}
// DXライブラリの後始末
DxLib_End();
// ソフトの終了
return 0;
}