dy = .scaley(souimg.picture.height, vbhimetric, vbpixels)
'注释: 设定picturebox的大小与source image的大小相同
.width = souimg.width
.height = souimg.height
set .picture = souimg.picture
end with
hdcmono = createcompatibledc(0)
hbmpmono = createcompatiblebitmap(hdcmono, dx, dy)
hbmpold = selectobject(hdcmono, hbmpmono)
picback.autoredraw = true
picback.backcolor = rgb(255, 255, 255)
colorback = setbkcolor(picback.hdc, tcolor)
bitblt hdcmono, 0, 0, dx, dy, picback.hdc, 0, 0, vbsrccopy
call setbkcolor(picback.hdc, colorback)
bitblt picback.hdc, 0, 0, dx, dy, hdcmono, 0, 0, vbnotsrccopy
hinvertmaskdc = createcompatibledc(0)
hbmpinvertmask = createcompatiblebitmap(picback.hdc, dx, dy)
call selectobject(hinvertmaskdc, hbmpinvertmask)
bitblt hinvertmaskdc, 0, 0, dx, dy, picback.hdc, 0, 0, vbsrccopy
call selectobject(hdcmono, hbmpold)
call deletedc(hdcmono)
call deleteobject(hbmpmono)