网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > C语言代码 > 正文

汉字与图形显示HANZI.C

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

#include<stdio.h>
#include<graphics.h>

FILE *fp;


/*******************************************************/
/*        函数功能:读取汉字字模                       */
/*        输入参数:incode[]--汉字                     */
/*        函数输出:bytes[]--字模                      */
/*******************************************************/
void  get_hzm(char  incode[ ],char  bytes[ ])
{
    unsigned  char  qh,wh;
    unsigned  long  offset;
    qh = incode[0] - 0xa0;     /*得到区号*/
    wh =incode[1]- 0xa0;    /*得到位号*/
    offset = ( 94 * (qh-1)+(wh-1))*32L;          /*得到偏移位置*/
    fseek(fp, offset, SEEK_SET);    /*定位字模首字节*/
    fread(bytes , 1, 32 , fp);
}

/*******************************************************/
/*        函数功能:显示字模                           */
/*        输入参数:左上角坐标,颜色和字模             */
/*        函数输出:无                                 */
/*******************************************************/

void  disp_hzm(int x,int y,int color,char buf[ ])
{
    int i,j,k;
      for(i=0;i<16;i++)
 for(j=0;j<2;j++)
   for(k=0;k<8;k++)
     if(buf[i*2+j]>>(7-k)&1)
        putpixel(x+j*8+k,y+i,color);
            
}


void DisHz16X16(int x,int y,int width,int color,char *str)
{                                      /* width笔的粗细*/
    unsigned char buf[35];
    while(*str)
    {
        if((*str&0x80) && (*(str+1)&0x80))
 {   
     /*判别是否是汉字,即最高位是否为1*/
        get_hzm(str,buf);
      disp_hzm( x, y, color, buf);
     x+=(16+width);
     str+= 2;                   /*显示下一汉字*/
 }
    }
}

  • 上一篇资讯: 驱动C语言代码
  • 下一篇资讯: 汉字与图形显示CARTOON.C
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师