TC图像编程-汉字串显示【原创】
2008/03/09 14:36

/*我把这代码贴出来是学习之用,所以一些说明我也就懒得讲了*/

/*********************************
作者:HungryAnt
姓名:孙麟
E-mail:ljsunlin@126.com
QQ:517377100
blog:http://hi.baidu.com/zhongji/blog
*********************************/

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

/*+++++++++++++++++++++++++++汉字串显示+++++++++++++++++++++++++++++++++++++*/
FILE *zh;
int zh_print16(int x,int y,char *pix,int color){/*显示16点阵汉字*/
    int i,j,k;
    for(i=0;i<16;i++)
        for(j=0;j<2;j++)
            for(k=0;k<8;k++){
                if(pix[i*2+j] & 0x80>>k)putpixel(x+j*8+k,y+i,color);
                /*else putpixel(x+j*8+k,y+i,BLUE);*/
            }
}
void zh_str(int x,int y,int width,unsigned char *str,int color){/*汉字和英文字串显示,width表示每一行的汉字数*/
    int i=0,j=0;
    long qm,wm,address;
    unsigned char pix[32];/*存放点阵16*16==32*8*/

while(str[i]){
        qm=(long)str[i]-0xA0;/*区码*/
        i++;
        wm=(long)str[i]-0xA0;/*位码*/
        i++;

address=((qm-1)*94+(wm-1))*32;/*获取汉字在文件中的位置*/

fseek(zh,address,SEEK_SET);/*文件中偏移位置*/
        fread(pix,32,1,zh);/*读取点阵32*8=16*16*/
        zh_print16(x,y,pix,color);

x+=16;
        j++;
        if(j==width){
            y+=16;
            x-=width*16;
            j=0;
        }

}
}
void ha_graph(){/*自定义图形检测*/
    int gdriver = DETECT, gmode, errorcode;
    registerbgidriver(EGAVGA_driver);
    initgraph(&gdriver, &gmode,"");
    errorcode = graphresult();
    if (errorcode != grOk){
        printf("Graphics error: %s", grapherrormsg(errorcode));
        printf("Press any key to halt:");
        getch();
        exit(1);
    }
}
/*-----------------------------------------------------------------------*/

int main(){
    unsigned char str[]="哈哈,我是孙麟。我晕啊";/*unsigned很重要,不加即错*/
    zh=fopen("HZK16","r");/*读汉字库*/
    ha_graph();
    zh_str(20,20,10,str,YELLOW);
    getch();
    fclose(zh);
    closegraph();
}

转载于:https://www.cnblogs.com/gods/archive/2008/03/26/3887674.html

TC图像编程-汉字串显示【原创】相关推荐

  1. framebuffer应用编程及文字显示(2)

    framebuffer应用编程及文字显示(2) #6 .1Freetype介绍 Freetype是开源的字体引擎库,它提供统一的接口来访问多种字体格式文件,从而实现矢量字体显示.我们只需要移植这个字体 ...

  2. TC字符界面-菜单程序【原创】

    TC字符界面-菜单程序[原创] 2008/03/06 22:58 /*本程序代码属本人原创,未经允许不得转载,谢谢合作 作者:HungryAnt 发布时间:2008-3-6 */ /*快捷键功能没有提 ...

  3. C# 图像编程 (1) 准备工作; 你好,空姐; 为空姐照片添加特效

    很久之前,就想写一系列C#图像编程的文章,但始终没有下笔,其主要原因有二:(1)我的C#图像处理库 Geb.Image 库在大幅度变动中:(2)没有找到一个很好的演示工具.现在,对于第一个问题,Geb ...

  4. 计算机数控编程特点,什么是数控图像编程系统有哪些特点

    第五章 图像数控编程 一. 图像编程简介 二. 二坐标平面轮廓数 控加工图像编程 三. 多坐标图像数控编程 四. 高速切削加工简介 图像编程即根据计算 机图形显示器上显示的 零件设计三维模型,在1. ...

  5. stm32汉字字库显示实验与OLED的使用(开始于2021-09-01)

    stm32汉字字库显示实验与OLED的使用 1.字库的使用 GBK字库的简介: GBK库的由两部分组成,如下图: 高位从0x81开始是为了兼容ASII字符,因为未扩展的ASII字符是从0-128,即0 ...

  6. 【OpenCV入门教程之三】 图像的载入,显示和输出 一站式完全解析

    [-] 一开胃菜之一  关于OpenCV的命名空间 二开胃菜之二  关于Mat类型 三图像的载入和显示 imread函数 namedWindow函数 imshow函数 四输出图像到文件imwrite函 ...

  7. 图形图像编程实践 课程报告

    文章目录 图形图像编程实践 课程报告 实验环境 EX01 图像的二值化 问题描述 算法设计 结果分析 原图 灰度图 二值化结果图 EX02 图像的加减 问题描述 算法设计 结果分析 原图 灰度图 图片 ...

  8. WINDOWS图像编程

    图形设备接口(GDI,Graphics Device Interface)的主要目标之一是支持在输出设备(如视频显示器.打印机和绘图仪)上的与设备无关的图形. GDI通过将应用程序与不同输出设备特性相 ...

  9. C语言编程可调电子钟设计,基于ZG211使用C语言编程的电子钟显示设计(最终版)...

    <基于ZG211使用C语言编程的电子钟显示设计.doc>由会员分享,可在线阅读全文,更多相关<基于ZG211使用C语言编程的电子钟显示设计(最终版)>请在www.woc88.c ...

最新文章

  1. 12)登录验证函数简单编写验证
  2. python是不是特别垃圾-震惊!垃圾分类居然能用Python搞定!
  3. 2、MySQL创建存储过程(CREATE PROCEDURE)(函数)
  4. GSON解析JSON
  5. openoffice使用总结001---版本匹配问题unknown document format for file: E:\apache-tomcat-8.5.23\webapps\ZcnsDms\
  6. IIS7的CMD指令
  7. ASP.NET MVC2用户界面的巨大改变
  8. 使用pyinstaller讲python文件打包成exe文件运行时,弹出命令行界面
  9. 计算机网络sequence number,计算机网络
  10. fw150um无线网卡linux驱动,fw150um无线网卡驱动
  11. PUTTY官网下载地址
  12. IDEA炫酷主题推荐!非常好看!
  13. 使用apicloud开发app
  14. 码上飞机大战v1.0.8
  15. 2500攒吃鸡电脑。
  16. 关于微信支付,支付宝支付
  17. matlab噪音的消除办法,基于MATLAB的噪声消除方法.ppt
  18. 在线语音转文字如何进行在线转换的
  19. 操作系统实验3 页式地址重定位模拟
  20. LeetCode 题解随笔:动态规划(一)

热门文章

  1. Redis完整体系知识
  2. 电脑为什么会蓝屏死机
  3. 淘淘商城第58讲——第一次认识SolrCloud,请多多指教!
  4. Leveraging Large Language Models for Robot 3D Scene Understanding
  5. [网络安全学习篇52]:扫描技术
  6. LED 数码管共阴共阳的区别+静态/动态显示
  7. 8082端口占用 TIM搞事情
  8. 想看Dubbo源码?建议先看看这一篇
  9. java 后端如何处理数据库字段类型为Json格式的方法
  10. IOS越狱环境用触摸触动LUA获取当前账号sec_uid