如何将单文档中的图形,保存为图片格式

butnet 2007-03-28 04:42:27
我在单方档程序中,画了一些图形,
怎么样,保存成JPG,或者其它的图片格式!
小弟刚学MFC,
请各位大哥教一教.
谢谢!
...全文
336 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
butnet 2007-04-05
  • 打赏
  • 举报
回复
我的没有GetDC()这个API
为什么?
qqwwing 2007-03-28
  • 打赏
  • 举报
回复
BMP保存相关代码片段,将其置于View类中即可,要存为JPG可用一些图形库,网上很多

BITMAPINFObi;//信息头
void *pBits=NULL;
CRect rect;//客户区窗口
GetClientRect(&rect);
int nWidth=rect.right;
int nHeight=rect.bottom;
//填充信息头
ZeroMemory(&bi,sizeof(bi));
bi.bmiHeader.biSize=sizeof(bi.bmiHeader);
bi.bmiHeader.biHeight=nHeight;
bi.bmiHeader.biWidth=nWidth;
bi.bmiHeader.biPlanes=1;
bi.bmiHeader.biBitCount=24;
bi.bmiHeader.biCompression=BI_RGB;
bi.bmiHeader.biSizeImage=3*nWidth*nHeight;

//拷贝客户区至内存DC
HDC hActiveDC=::GetDC(this);
HDC hActiveWndCompatibleDC=CreateCompatibleDC(hActiveDC);
HDC hActiveWndCompactibleBitmap=CreateCompatibleBitmap(hActiveDC,rect.right,rect.bottom);
SelectObject(hActiveWndCompatibleDC,hActiveWndCompactibleBitmap);

//保存内存DC
HDChBmpFileDC=CreateCompatibleDC(hActiveWndCompatibleDC);
HBITMAPhBmpFileBitmap=CreateDIBSection(hActiveWndCompatibleDC,&bi,DIB_RGB_COLORS,&pBits,NULL,0);
SelectObject(hBmpFileDC,hBmpFileBitmap);
BitBlt(hBmpFileDC,0,0,nWidth,nHeight,hActiveWndCompatibleDC,0,0,SRCCOPY);

CString tempFileName;//目标文件名
HANDLEhFile=CreateFile(tempFileName,GENERIC_WRITE,FILE_SHARE_WRITE,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
if(hFile!=INVALID_HANDLE_VALUE)
{
DWORDdwRet=0;
//填充文件头
BITMAPFILEHEADERbmfHeader;
ZeroMemory(&bmfHeader,sizeof(bmfHeader));
bmfHeader.bfOffBits=sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER);
bmfHeader.bfSize=bi.bmiHeader.biSizeImage+bmfHeader.bfOffBits;
bmfHeader.bfType='MB';
WriteFile(hFile,&bmfHeader,sizeof(bmfHeader),&dwRet,NULL);
WriteFile(hFile,&bi.bmiHeader,sizeof(bi.bmiHeader),&dwRet,NULL);
WriteFile(hFile,pBits,bi.bmiHeader.biSizeImage,&dwRet,NULL);
CloseHandle(hFile);
}
ToperRay 2007-03-28
  • 打赏
  • 举报
回复
先搞成BMP,然后CxImage转换成JPG
teli_eurydice 2007-03-28
  • 打赏
  • 举报
回复
抓屏 或者直接绘制到 BMP 上,转成 JPG

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧