//双缓冲显示图像
CRect rect;
GetClientRect(&rect);
CDC memDC;
CBitmap MemBitmap;
// 设备描述表初始化
memDC.CreateCompatibleDC(NULL);
// 建立与屏幕显示兼容的内存显示设备
MemBitmap.CreateCompatibleBitmap(pDC, rect.Width(), rect.Height());
// 选取空白位图
memDC.SelectObject(MemBitmap);
memDC.FillSolidRect(0, 0, rect.Width(), rect.Height(), RGB(200,200,200));
//显示图像
Graphics graph(memDC.GetSafeHdc());
Image image(L"C:\\Users\\chenchao\\Desktop\\airplane.jpg");
graph.DrawImage(&image,0,0);
pDC->BitBlt(0,0,rect.Width(),rect.Height(),&memDC,0,0,SRCCOPY);
MemBitmap.DeleteObject();
memDC.DeleteDC();VC GDI+双缓存绘图
最新推荐文章于 2024-05-28 11:49:31 发布
本文介绍了一种使用双缓冲技术在Windows环境下显示图像的方法。通过创建兼容的内存设备上下文及位图,然后将图像绘制到内存中,最后通过位图复制的方式将内存中的图像显示到屏幕上,有效避免了闪烁问题。

964

被折叠的 条评论
为什么被折叠?



