+ -
当前位置:首页 → 问答吧 → maskblt为什么用不了

maskblt为什么用不了

时间:2010-12-09

来源:互联网

代码片断

.elseif eax==WM_PAINT

invoke BeginPaint,hwnd,addr @stps1
mov @hdc,eax


invoke LoadBitmap,hInstance,IDB_CIRCLE1
mov @hbmpback1,eax
invoke LoadBitmap,hInstance,IDB_MASKONLY
mov @hbmpback2,eax
invoke LoadBitmap,hInstance,IDB_BACK1
mov @hbmpback3,eax

;这3张图已正确加载, 其中@hbmpback2 已为单色图,用作遮掩图片

invoke CreateCompatibleDC,@hdc
mov @hbak1,eax
invoke SelectObject,@hbak1,@hbmpback1


invoke CreateCompatibleDC,@hdc
mov @hbak3,eax
invoke CreateCompatibleBitmap,@hdc,200,200
mov @wei1,eax
invoke SelectObject,@hbak3,@wei1


invoke CreatePatternBrush,@hbmpback3
invoke SelectObject,@hbak3,eax

invoke MaskBlt,@hbak3,0,0,200,200,@hbak1,0,0,@hbmpback2 ,0,0,((SRCCOPY shl 8)and 0ff000000h)or PATCOPY ;;该句的,((SRCCOPY shl 8)and 0ff000000h)or PATCOPY已确定能用,因为这是一道例子,我照着写,但是我这就不能正常显示..


invoke BitBlt,@hdc,0,0,200,200,@hbak3,0,0,SRCCOPY


invoke EndPaint,hwnd,addr @stps1

作者: MSOKD   发布时间: 2010-12-09

还有地些因素导致不能正常显示的呢...

作者: MSOKD   发布时间: 2010-12-10

热门下载

更多