#include "atlimage.h"
void SaveBitmap(HBITMAP hBitMap)
{
CImage image;
image.Attach(hBitMap);
image.Save(L"d://test.bmp");
image.Save(L"d://test.jpg");
image.Detach();
}
例:View画面のハードコピー。
void CSaveImageTestView::OnEditSaveview()
{
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);
}
例:View画面のOnDraw()の結果をファイルに保存する。
void CSaveImageTestView::OnEditSaveviewpixsel()
{
// TODO: Add your command handler code here
CClientDC dc(this);
CBitmap bmpForSave;
CDC cdcForSave;
CRect r;
GetClientRect(&r);
bmpForSave.CreateCompatibleBitmap(&dc, r.Width(), r.Height());
cdcForSave.CreateCompatibleDC(&dc);
cdcForSave.SelectObject(bmpForSave);
OnDraw(&cdcForSave);
SaveBitmap((HBITMAP)bmpForSave);
}
1480

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



