哈哈,今天自己用Word做了一个简单的图片,然后将图片添加到软件中,进行处理。
主要就是在图片上输入文本,然后将含有文本的图片在输出。
主要用到了GDI+中的CImage:
BITMAP bm;
CDC dcMem;
CBitmap bmpDraw, *pOldBmp=NULL;
CClientDC dc(this);
CImage imgSave;
//开始绘图
OnPrepareDC(&dc);
dcMem.CreateCompatibleDC(&dc);//创建内存DC
bmpDraw.LoadBitmap(IDB_SPEED);
bmpDraw.GetBitmap(&bm);
pOldBmp = dcMem.SelectObject(&bmpDraw);//将加载的图片导入内存DC
dcMem.OffsetViewportOrg(0, 0);
float fWidth = theApp.m_cCommonData.GetOCFData().stHeader.fWidth;
float fHeight = theApp.m_cCommonData.GetOCFData().stHeader.fDepth;
CString strWidth = _T("");
CString strHeight = _T("");
strWidth.Format("%dmm",(int)fWidth);
strHeight.Format("%dmm",(int)fHeight);
dcMem.TextOut(1,bm.bmHeight/2,strHeight); //使用dc绘图写字
dcMem.TextOut(bm.bmWidth/2 - 20,5,strWidth);
imgSave.Attach((HBITMAP)bmpDraw.m_hObject);//绑定要保存的图片的句柄
CString szPicSavePath = theApp.m_szPrjPath.Left(theApp.m_szPrjPath.ReverseFind('\\') + 1) + _T("speed.bmp");
imgSave.Save(szPicSavePath);
imgSave.Detach();
dcMem.SelectObject(pOldBmp);
bmpDraw.DeleteObject();
dcMem.DeleteDC();