
如何把控件显示的位图保存为图片文件?
用下面的语句写了,控件显示位图,现在想把位图保存为文件,请问要怎么实现,谢谢!!intnSize=min(rc.Width(),rc.Height());CDC*pWor...
用下面的语句写了,控件显示位图,现在想把位图保存为文件,请问要怎么实现,谢谢!! int nSize = min(rc.Width(), rc.Height()); CDC* pWorkDC = new CDC; pWorkDC->CreateCompatibleDC(NULL); pmemBitmap = new CBitmap; pmemBitmap->CreateBitmap(nSize, nSize, 1, 1, NULL); CBitmap* pOldBitmap = pWorkDC->SelectObject(pmemBitmap); pWorkDC->StretchBlt(rc.left, rc.top, nSize, nSize, pmemDC, 0, 0, nSymbleSize, nSymbleSize, SRCCOPY); pDC->BitBlt(0, 0, nSize, nSize, pWorkDC, 0, 0, SRCCOPY); pWorkDC->SelectObject(pOldBitmap); delete pmemBitmap; delete pWorkDC;
展开
1个回答
展开全部
这里面楼主已经在 pWorkDC 上面画东西了,所以 pmemBitmap 上面就有东西了!pmemBitmap 是 CBitmap 类型的。内部有个 HBITMAP 的句柄所以,这就好办了,调用 CImage::Attach 就可以将这个 HBITMAP 关联到 CImage 的对象上面,之后调用 CImage::Save 就可以保存图片文件了。 查看原帖>>
采纳哦
采纳哦
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询