网站导航免费论文 原创论文 论文搜索 作业答案 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 设计资源 > 单片机 > 正文
汉字点阵数据的提取
来源:Http://myeducs.cn 联系QQ:3710167 作者: Admin 发布时间: 09/06/04

  //**************************************************************
  //***************汉字点阵的提取及点阵数据的转换*****************
  //**************************************************************
  //void SingleData(CString m_str)定义汉字字模的提取函数
  //此函数使用Visual C++6.0编写
 void SingleData(CString m_text)定义待转换的字模函数
{
 int ctext=(int)m_text.GetAt(0);   //取得文字的ASIIC码
 CFont myfont;                //创建所想要的字体样式
 myfont.CreateFont(-60,0,       //调用字体创建函数进行字体样式的创建
  0,0,
  400,
  0,0,0,1,0,0,0,
  32,
  _T("宋体"));
                    //接下来使用图片拉伸的方法将文字拉伸成所需要的大小和纵横比
 CDC olddc,newdc;   //创建两个容器
 CBitmap oldbmp,newbmp;                //创建两个图片对象
CSize fsize;
 unsigned long syscolor=RGB(0,0,0);      //图片的背景颜色设置成白色
 unsigned long bkcolor=RGB(255,255,255);  //图片文字的颜色设置成黑色
 olddc.CreateCompatibleDC(NULL);
 olddc.SelectObject(&myfont);
 fsize=olddc.GetTextExtent(m_text);     //获取原有文字的大小
                                         //olddc容器的大小与原有大小一致
 oldbmp.CreateCompatibleBitmap(&olddc,fsize.cx,fsize.cy);
 olddc.SelectObject(&oldbmp);
                                      //将文字输出到容器里形成图片
 olddc.ExtTextOut(0,0,ETO_CLIPPED,CRect(CPoint(0,0),fsize),m_text,NULL);
  CSize newsize;                       //创建存储图片新尺寸的变量
 int tempx,tempy;
 unsigned long color;
  if(ctext>=0&&ctext<=255)         //如果文字为字符或者字母
 {
  newsize.cx=32;
  newsize.cy=49;
  newdc.CreateCompatibleDC(NULL);
  newbmp.CreateCompatibleBitmap(&newdc,newsize.cx,newsize.cy);
  newdc.SelectObject(&newbmp);
                                  //将文字拉伸或缩小到所需大小
newdc.StretchBlt(0,0,newsize.cx,newsize.cy,&olddc,0,0,fsize.cx,fsize.cy,SRCCOPY);
                                        //在bmp图片上逐点读取
  for(tempy=0;tempy<32;tempy++)
  {
   for(tempx=0;tempx<25;tempx++)
   {
    color=newdc.GetPixel(tempx,tempy+11);  //获取当前点的颜色
//如果为黑色则当前数据为1,反之为0
    b_single[tempy][tempx]=(color==bkcolor)?0:1;
   }
  }
 }
 else
 {
  newsize.cx=35;
  newsize.cy=39;
  newdc.CreateCompatibleDC(NULL);
  newbmp.CreateCompatibleBitmap(&newdc,newsize.cx,newsize.cy);
&nb

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 电话:013007313683 QQ:3710167 邮箱:Educs@163.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 Www.myeducs.Cn All Rights Reserved
湘ICP备09003080号