>この場合、不定形リージョンで解決できるはずです。
画像は0.png~7.png
http://navy.if.land.to/archive/index.html
のヴィイとかをダウンロードしてください。
拡張子が「.nar」になっていますが、zip形式です。
;参考URL1 ぷまさん
;http://fs-cgi-basic01.freespace.jp/~hsp/ver3/hsp3.cgi?print+200511/05110007.txt
;参考URL2 ちょくとさん
;http://yokohama.cool.ne.jp/chokuto/urawaza/mcn/bmprgn2.html
#include "hspcv.as"
#uselib "kernel32.dll" // マシン語実行用メモリ確保
#func global VirtualProtect "VirtualProtect" var, int, int, var
#define global mdim(%1,%2)dim %1,%2 :VirtualProtect %1,(%2)*4,$40,AZSD
#module "Region"
#deffunc SetRgn // [フルカラー専用Ver1.0] 左上の色が透過色になります。 stat : 失敗0 成功0以外
#uselib "user32" ; 使用するWin32API関数
#cfunc global SetWindowRgn "SetWindowRgn" int, int, int
#uselib "gdi32"
#func global DeleteObject "DeleteObject" int
#func global ExtCreateRegion "ExtCreateRegion" int, int, int
#func global CombineRgn "CombineRgn" int, int, int, int
pget 0,0 : c= (ginfo_b<<16) | (ginfo_g<<8) | ginfo_r : if rgn=0 { mdim rgn,77
pf=varptr.rgn, varptr.ExtCreateRegion, varptr.CombineRgn, varptr.DeleteObject
rgn. 0= $81EC8B55,$000FCCEC,$57565300,$8B087D8B,$778B0447,$40048D08,$8303488D
rgn. 7= $DB33FCE1,$D02BD18B,$F1AF0F4E,$21147703,$FFF03C9D,$F85D89FF,$89FC5D89
rgn.14= $85C7F455,$FFFFF034,$00000020,$F03885C7,$0001FFFF,$BD810000,$FFFFF03C
rgn.21= $000000FA,$5F3B0573,$8D3A7C08,$FFF03485,$C06850FF,$6A00000F,$1055FF00
rgn.28= $75FF026A,$084589F8,$55FF5050,$F875FF14,$8B1855FF,$A5830845,$FFFFF03C
rgn.35= $085F3B00,$0FF84589,$0000928D,$4EB60F00,$8AC03302,$01468A26,$0B08E0C1
rgn.42= $0C453BC1,$858B5374,$FFFFF03C,$C1FC4D8B,$85FF04E0,$FFFFF03C,$5405848D
rgn.49= $89FFFFF0,$01538D08,$04588941,$890C5089,$1EEBFC4D,$0556B60F,$C683C933
rgn.56= $8A2E8A03,$E1C1014E,$3BCA0B08,$0B740C4D,$8BFC45FF,$4F3BFC4D,$8BDD7504
rgn.63= $4889FC4D,$04478B08,$FF03C683,$4539FC45,$3B8C0FFC,$8BFFFFFF,$6583F44D
rgn.70= $048D00FC,$F7E0D140,$03C82BD9,$23E943F1,$5FFFFFFF,$C2C95B5E,$00000014}
mref bm,67 ;: c= $FFFFFF ;色を指定
prm=varptr.bm,c,pf.1,pf.2,pf.3:return SetWindowRgn(hwnd,callfunc(prm,pf,5),1)
#global /************************************************************************/
onclick *move
p=0 ; 0=フルカラー:1=パレットモード
repeat 8
gsel 0: title ""+cnt+"/8"
file=""+cnt+".png"
cvload file,cnt
cvgetinfo wid,cnt,CVOBJ_INFO_SIZEX
cvgetinfo heit,cnt,CVOBJ_INFO_SIZEY
buffer cnt+2,wid,heit
cvgetimg cnt
loop
screen 0,1,1,1,ginfo_dispx :gsel 0,-1
bgscr 11,wid,heit
id=2
*l_loop
repeat: wait 8
redraw 0
pos 0,0
gcopy id,0,0,wid,heit
SetRgn // 透過ウィンドウ
redraw
id++: if id>9: id=2
loop
*move
if iparam=3 : wait 20 :end ;右クリックで終了
sendmsg hwnd ,$a1,2,z
goto *l_loop