gmodeの第一パラメータを4(透明色付き半透明合成コピー)にして
第四パラメータの「半透明合成時のブレンド率」を256にし、
color 255,255,255とすれば白を透過させることができます。
//画像読み込み
buffer 1 : gsel 1
picload "test.jpg" : w=ginfo_sx : h=ginfo_sy
gsel 0 : color 0,0,0 : boxf
gmode 4,,,256 : color 255,255,255
pos 0,0 : gcopy 1,0,0,w,h
また、WinAPIのTransparentBltを使う方法もありますが、(個人的にはこれがお勧め)
パラメータの数が11と多いので、マクロなりユーザー定義命令なりを利用して
使いやすくすることをお勧めします。
#uselib "msimg32.dll"
#func TransparentBlt "TransparentBlt" int,int,int,int,int,int,int,int,int,int,int
//TransparentBlt p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11
//指定した色を透過させてコピーする
//p1 : コピー先のhdc
//p2,p3 : コピー先の座標
//p4,p5 : コピー先の横幅と縦幅
//p6 : コピー元のhdc
//p7,p8 : コピー元の座標
//p9,p10 : コピー元の横幅と縦幅(←コピー先の横幅や縦幅と違う場合は拡大縮小される)
//p11 : 透過させる色を0xBBGGRRの形で指定する(RRGGBBではないことに注意)
//実行後は「redraw 1」としないと描画が反映されない
//画像読み込み
buffer 1 : gsel 1
picload "test.jpg" : w=ginfo_sx : h=ginfo_sy
hdc1=hdc //1番バッファのhdcを取得
gsel 0 : color 0,0,0 : boxf
TransparentBlt hdc,0,0,w,h, hdc1,0,0,w,h, 0xFFFFFF
redraw 1 //これを実行しないと反映されない