Not entirely sure what I'm doing but this might do what you want in DX...
Graphics 800,600 image:TImage=LoadImage("max.png") n:Float=0.4 SetBlend alphablend While Not KeyHit(key_escape) Cls SetAlpha 1.0 Setmodnormal() DrawImage image,100,100 settowhite() SetAlpha n DrawImage image,100,100 n:+0.01 If n>1.0 n=0.1 Flip Wend Function setmod2x() PrimaryDevice.device.SetTextureStageState(0,D3DTSS_COLOROP,D3DTOP_MODULATE2X) End Function Function setmodnormal() PrimaryDevice.device.SetTextureStageState 0,D3DTSS_COLOROP,D3DTOP_MODULATE PrimaryDevice.device.SetTextureStageState 0,D3DTSS_ALPHAOP,D3DTOP_MODULATE End Function Function settowhite() PrimaryDevice.device.SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_SELECTARG2 ); PrimaryDevice.device.SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE ); End Function