
如何在MFC中实现存储指定矩形区域的图片
我从外界导入到mfc中一个图片,想保存指定矩形的部分图片哪位达人给我提供一些代码,我想这个问题不是很难,希望给我哥简单点的方法。谢谢了矩形的4个点的坐标已经知道。...
我从外界导入到mfc中一个图片,想保存指定矩形的部分图片
哪位达人给我提供一些代码,
我想这个问题不是很难,希望给我哥简单点的方法。谢谢了
矩形的4个点的坐标已经知道。 展开
哪位达人给我提供一些代码,
我想这个问题不是很难,希望给我哥简单点的方法。谢谢了
矩形的4个点的坐标已经知道。 展开
1个回答
展开全部
假如你用的是vc++7以上的版本。用我上次说的方法就可以。
//存HBITMAP到文件的函数:
#include "atlimage.h"
void SaveBitmap(HBITMAP hBitMap)
{
CImage image;
image.Attach(hBitMap);
image.Save(L"d:\\test.jpg");
image.Detach();
}
这是把画面上的图像,拷贝到内存dc的处理。
void CXXXXXView::SaveView()
{
CClientDC dc(this);
CBitmap bmpForSave;
CDC cdcForSave;
CRect r;
GetClientRect(&r);
bmpForSave.CreateCompatibleBitmap(&dc, r.Width(), r.Height());
cdcForSave.CreateCompatibleDC(&dc);
cdcForSave.SelectObject(bmpForSave);
cdcForSave.BitBlt(0, 0, r.Width(), r.Height(), &dc, 0, 0, SRCCOPY);
SaveBitmap((HBITMAP)bmpForSave);
}
//存HBITMAP到文件的函数:
#include "atlimage.h"
void SaveBitmap(HBITMAP hBitMap)
{
CImage image;
image.Attach(hBitMap);
image.Save(L"d:\\test.jpg");
image.Detach();
}
这是把画面上的图像,拷贝到内存dc的处理。
void CXXXXXView::SaveView()
{
CClientDC dc(this);
CBitmap bmpForSave;
CDC cdcForSave;
CRect r;
GetClientRect(&r);
bmpForSave.CreateCompatibleBitmap(&dc, r.Width(), r.Height());
cdcForSave.CreateCompatibleDC(&dc);
cdcForSave.SelectObject(bmpForSave);
cdcForSave.BitBlt(0, 0, r.Width(), r.Height(), &dc, 0, 0, SRCCOPY);
SaveBitmap((HBITMAP)bmpForSave);
}
参考资料: http://www.softist.com/programming/savebmp/savebmp.htm
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询