作者:潸-苫_390 | 来源:互联网 | 2023-05-17 13:15
现在我有个内存DCCDCmemdc;接下来我会在memdc上面绘图;现在有个CBitmapbitmap;怎么将我在memdc上面画的图保存在bitmap里面呢。我只做了一步bitmap
现在我有个内存DC CDC memdc;接下来我会在memdc上面绘图;
现在有个CBitmap bitmap; 怎么将我在memdc上面画的图保存在bitmap里面呢。
我只做了一步bitmap.CreateCompatibleBitmap(&memdc, 宽,高);
然后就在memdc上开始画图了,最后bitmap里面没有内容,只是黑色的背景,这个怎么办啊?
怎样才能让bitmap里面保存到memdc的内容呢?
7 个解决方案
你那个位图就是底色 memDC本来画的就是画到pDC里面去了 怎么会画到bitmap里?
oldmemBitmap = memDC.SelectObject(&memBitmap);//将memBitmap选入内存DC
memDC.BitBlt(0, 0, Width, Height, pDC, 0, 0, SRCCOPY);//复制屏幕图像到内存DC
memDC.SelectObject(oldmemBitmap);
这样 memBitmap 就可以用了
您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了
疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知
见此回复三日内无回应
我们将强制结帖
相关规定详见界面
界面版关于版主结帖工作的具体办法
CDC memDC;//内存DC
CBrush *pBrush = CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH));
memDC.CreateCompatibleDC(pDC);
CBitmap memBitmap, *oldmemBitmap;//建立和屏幕兼容的bitmap
memBitmap.CreateCompatibleBitmap(pDC, Width, Height);
oldmemBitmap = memDC.SelectObject(&memBitmap);//将memBitmap选入内存DC
memDC.BitBlt(0, 0, Width, Height, pDC, 0, 0, SRCCOPY);//复制屏幕图像到内存DC
memDC.SelectObject(pBrush);
/*图形绘制代码 */
这时候memBitmap 里面就保存了你绘制的图形了