绘图的时候使用了双缓冲贴图 然后自己定义了一个透明贴图的函数DrawTransBitmap,贴图成功了,但是程序一运行内存就飞速增长。不关的话马上就死机了,小白一枚 求各位大神帮忙 万分感激
绘图的时候使用了双缓冲贴图 然后自己定义了一个透明贴图的函数DrawTransBitmap,贴图成功了,但是程序一运行内存就飞速增长。不关的话马上就死机了,小白一枚 求各位大神帮忙 万分感激
case WM_PAINT:
hdc = GetDC(hwnd);
mdc = CreateCompatibleDC(hdc);
bufdc = CreateCompatibleDC(hdc);
bufdc2 = CreateCompatibleDC(hdc);
GetClientRect(hwnd,&rect);
GetObject(hbm1,sizeof(BITMAP),&bm);
xlength = rect.right - rect.left;
ylength = rect.bottom - rect.top;
SelectObject(bufdc,hbm1);
hbm3 = CreateCompatibleBitmap(hdc,xlength,ylength);
SelectObject(mdc,hbm3);
BitBlt(mdc,0,0,2*bm.bmHeight,2*bm.bmWidth,bufdc,0,0,SRCCOPY);
SelectObject(bufdc2,hbm2);
GetObject(hbm2,sizeof(BITMAP),&bm);
DrawTransBitmap(mdc,300,500,0.125*bm.bmWidth,0.125*bm.bmHeight,bufdc2,300,0,RGB(255,255,255));
BitBlt(hdc,0,0,2*bm.bmHeight,2*bm.bmWidth,mdc,0,0,SRCCOPY);
DeleteDC(hdc);
DeleteDC(mdc);
DeleteDC(bufdc);
break;
这个是代码