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. 马斯克炮轰微软:OpenAI不是你的工具人
  2. MySQL 加锁处理分析
  3. Linux_查看CPU信息、机器型号等硬件信息
  4. Java数据结构和算法(二)——数组
  5. 如何加快Vivado的编译速度
  6. 性价比泛滥后,网易严选情怀路线还能否继续吃香?
  7. 历届试题 大臣的旅费(深搜 树的直径)
  8. 如何使用 HttpReports 监控 .NET Core 应用程序
  9. Oracle用户system解锁
  10. 保送清华成博士,华为 12 年搞通信,他为何如此看待 5G ?| 人物志
  11. Zend Studio 12.5.1 破解、注册码
  12. Atitit 安全措施流程法 目录 1. 常见等安全措施方法 2 1.1. 安全的语言 代码法,编译型 java 2 1.2. 安全编码法 2 1.3. 安全等框架类库 api 2 1.4. 加密法
  13. 《Redis开发与运维》- 核心知识整理二(Lua脚本、发布订阅、客户端等)
  14. Exchange2010重装注意事项
  15. Python实现高斯滤波
  16. 《东周列国志》第五十八回 说秦伯魏相迎医 报魏錡养叔献艺
  17. 根据王小云教授的算法写的MD5碰撞的程序[c源代码]
  18. 解决在Python的matplotlib.pyplot图表中显示中文
  19. 【用户研究】【实战】——“得到”APP 可用性测试
  20. Linux定时器描述符(timerfd)shiy

热门文章

  1. 内存释放free函数如何知道内存大小
  2. 为什么银行的IT部门都远离市区?
  3. PVI-DSO: Leveraging Planar Regularities for Direct Sparse Visual-Inertial Odometry (阅读笔记)
  4. 实时虚拟现实技术偏理论(课堂笔记一+二)
  5. LBM开源软件---openlb简介
  6. 【优化求解】基于遗传算法求解多目标配电网重构模型matlab源码
  7. mybatis的函数
  8. 利用业余时间写了个微信
  9. access查询mysql_什么是access查询
  10. html引入css文件缓存问题