将文字输出到图片上!

lyllm_117228 2009-12-03 03:31:25
这是我的程序!大家帮我看看那里错了为什么出不来效果!谢谢啦 或有源程序吗发给我参考谢谢!
BITMAPINFOHEADER bmiHeader;
BYTE *m_Data;
CDC MemDC;

HBITMAP hBitmap=(HBITMAP)LoadImage(AfxGetInstanceHandle(),
"D:\\aa.bmp",IMAGE_BITMAP,0,0,
LR_LOADFROMFILE|LR_CREATEDIBSECTION);
BITMAP bm;
GetObject(hBitmap, sizeof BITMAP, &bm);


MemDC.CreateCompatibleDC(NULL);

CBitmap Bitmap;
Bitmap.LoadBitmap("D:\\aa.bmp");

MemDC.SetTextColor(0);
MemDC.SelectObject(Bitmap);
MemDC.TextOut(0,0,"李勇");

Bitmap.Detach();


m_Data=new BYTE [bm.bmHeight*bm.bmWidth*3];


Bitmap.GetBitmapBits(bm.bmHeight*bm.bmWidth*3,m_Data);


BITMAPFILEHEADER bmfh;
bmfh.bfType=0x4d42;
bmfh.bfSize=sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER)+81*18*3;
bmfh.bfReserved1=bmfh.bfReserved2=0;
bmfh.bfOffBits=sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER);

BITMAPINFOHEADER bmih;
bmih.biWidth=81;
bmih.biHeight=18;
bmih.biPlanes=1;
bmih.biBitCount=24;
bmih.biCompression=BI_RGB;
bmih.biSizeImage=81*18*3;
bmih.biXPelsPerMeter=0;
bmih.biYPelsPerMeter=0;
bmih.biClrUsed=0;
bmih.biClrImportant=0;
bmih.biSize=sizeof(BITMAPINFOHEADER);



CFile fp;
fp.Open("D:\\a.bmp",CFile::modeCreate | CFile::modeWrite | CFile::typeBinary);
fp.Write((LPSTR)&bmfh,sizeof(BITMAPFILEHEADER)); //写文件头
fp.Write((LPSTR)&bmih,sizeof(BITMAPINFOHEADER)); //写信息头
fp.Write(m_Data,81*18*3);



DeleteObject(hBitmap);
CDialog::OnOK();
...全文
139 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
LPR_Pro 2009-12-04
  • 打赏
  • 举报
回复
这个需要根据文字的ASCII码投射在图片上,需要处理文字的每一个点.
fandh 2009-12-03
  • 打赏
  • 举报
回复
http://www.vckbase.net/document/viewdoc/?id=1659
直接看这个得了!

19,468

社区成员

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

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