首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 平面设计 > 图形图像 >

GDI双缓冲的有关问题

2013-01-07 
GDI双缓冲的问题。HBITMAPhBitmap (HBITMAP)::LoadImageA(NULL, test.bmp, IMAGE_BITMAP, 64, 64, LR_L

GDI双缓冲的问题。


HBITMAP  hBitmap = (HBITMAP)::LoadImageA(NULL, "test.bmp", IMAGE_BITMAP, 64, 64, LR_LOADFROMFILE);

// 创建一个内存DC,所有绘制操作都绘制到该DC上
HDC memoryDC = ::CreateCompatibleDC(hdc);

// 将位图对象选入到内存DC上
::SelectObject(memoryDC, hBitmap);

// 将内存DC上的内容绘制到hdc 上
::BitBlt(hdc, 100, 100, 64, 64, memoryDC, 0, 0, SRCCOPY);

::DeleteDC(memoryDC);


首先,这个双缓冲写的没错吧?
这是绘制一个位图,
如果要绘制两个位图怎么写呢?

是不是再加一句:
::SelectObject(memoryDC, hBitmap2);

然后,如果要绘制3个位图是不是这样:
::SelectObject(memoryDC, hBitmap1);
::SelectObject(memoryDC, hBitmap2);
::SelectObject(memoryDC, hBitmap3);
最后:
::BitBlt(hdc, 100, 100, 64, 64, memoryDC, 0, 0, SRCCOPY);

??
[解决办法]
该回复于2011-11-14 11:16:29被版主删除

热点排行