#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); }