15,978
社区成员
发帖
与我相关
我的任务
分享
//onpaint事件
void ImgCtrl::OnPaint()
{
if ( NULL != m_pCurve )
{
CPaintDC dc(this);
m_pCurve->DrawCurve( &dc );
}
}
void ImgCtrl::SaveCurveImg()
{
CDC* pDc =GetDC();
HBITMAP hbitmap = CreateCompatibleBitmap(*pDc, 654,489);
HDC hdc = CreateCompatibleDC(*pDc);
//将位图选入dc,并保存返回值
HBITMAP hOldMap = (HBITMAP)SelectObject(hdc,hbitmap);
//将屏幕dc的图像复制到内存dc中
BitBlt(hdc,0,0, 654,489,*pDc,0,0,SRCCOPY);
CImage image;
image.Attach(hbitmap);//将位图转化为一般图像
HRESULT hResult = image.Save(L"C:\\cccc.bmp");
if(FAILED(hResult))
AfxMessageBox(L"Failed");
image.Detach();
SelectObject(hdc,hOldMap);
}