首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

win32api 位图 请问

2013-01-01 
win32api位图 请教编辑的位图(11*11):实际显示的位图:WM_PAINT主要代码:hdcBeginPaint(hwnd,&ps)hBitmap

win32api 位图 请教
编辑的位图(11*11):
win32api  位图 请问


实际显示的位图:
win32api  位图 请问


WM_PAINT主要代码:

hdc=BeginPaint(hwnd,&ps);

hBitmap=LoadBitmap(hInstance,MAKEINTRESOURCE(IDB_BITMAP2));
GetObject(hBitmap,sizeof(BITMAP),&bitmap);
cxSource=bitmap.bmWidth;
cySource=bitmap.bmHeight;

hdcBitmap=CreateCompatibleDC(NULL);
SelectObject(hdcBitmap,hBitmap);
StretchBlt(hdc,cx,cy,cxSource,cySource,hdcBitmap,0,0,cxSource,cySource,NULL);

DeleteDC(hdcBitmap);
EndPaint(hwnd,&ps);



这是哪一步漏掉了?怎么绘制出一个黑色正方形呢?
位图这部分看了好几天了;真就是一点一点啃;还经常啃不动;
另外还有个问题,看到有的函数需要一个颜色平面的参数,这个颜色平面到底是个什么?以前问过一次,没得到什么易懂的回复,还是无法理解;
[解决办法]
StretchBlt(hdc,cx,cy,cxSource,cySource,hdcBitmap,0,0,cxSource,cySource,NULL);
這個函數的最後一個參數有問題。

參看
http://blog.sina.com.cn/s/blog_49a7b62b010009f4.html

建議用SRCCOPY,即:
StretchBlt(hdc,cx,cy,cxSource,cySource,hdcBitmap,0,0,cxSource,cySource,SRCCOPY);

热点排行