TC图像编程-汉字串显示【原创】
/*我把这代码贴出来是学习之用,所以一些说明我也就懒得讲了*/
/*********************************
作者: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图像编程-汉字串显示【原创】相关推荐
- framebuffer应用编程及文字显示(2)
framebuffer应用编程及文字显示(2) #6 .1Freetype介绍 Freetype是开源的字体引擎库,它提供统一的接口来访问多种字体格式文件,从而实现矢量字体显示.我们只需要移植这个字体 ...
- TC字符界面-菜单程序【原创】
TC字符界面-菜单程序[原创] 2008/03/06 22:58 /*本程序代码属本人原创,未经允许不得转载,谢谢合作 作者:HungryAnt 发布时间:2008-3-6 */ /*快捷键功能没有提 ...
- C# 图像编程 (1) 准备工作; 你好,空姐; 为空姐照片添加特效
很久之前,就想写一系列C#图像编程的文章,但始终没有下笔,其主要原因有二:(1)我的C#图像处理库 Geb.Image 库在大幅度变动中:(2)没有找到一个很好的演示工具.现在,对于第一个问题,Geb ...
- 计算机数控编程特点,什么是数控图像编程系统有哪些特点
第五章 图像数控编程 一. 图像编程简介 二. 二坐标平面轮廓数 控加工图像编程 三. 多坐标图像数控编程 四. 高速切削加工简介 图像编程即根据计算 机图形显示器上显示的 零件设计三维模型,在1. ...
- stm32汉字字库显示实验与OLED的使用(开始于2021-09-01)
stm32汉字字库显示实验与OLED的使用 1.字库的使用 GBK字库的简介: GBK库的由两部分组成,如下图: 高位从0x81开始是为了兼容ASII字符,因为未扩展的ASII字符是从0-128,即0 ...
- 【OpenCV入门教程之三】 图像的载入,显示和输出 一站式完全解析
[-] 一开胃菜之一 关于OpenCV的命名空间 二开胃菜之二 关于Mat类型 三图像的载入和显示 imread函数 namedWindow函数 imshow函数 四输出图像到文件imwrite函 ...
- 图形图像编程实践 课程报告
文章目录 图形图像编程实践 课程报告 实验环境 EX01 图像的二值化 问题描述 算法设计 结果分析 原图 灰度图 二值化结果图 EX02 图像的加减 问题描述 算法设计 结果分析 原图 灰度图 图片 ...
- WINDOWS图像编程
图形设备接口(GDI,Graphics Device Interface)的主要目标之一是支持在输出设备(如视频显示器.打印机和绘图仪)上的与设备无关的图形. GDI通过将应用程序与不同输出设备特性相 ...
- C语言编程可调电子钟设计,基于ZG211使用C语言编程的电子钟显示设计(最终版)...
<基于ZG211使用C语言编程的电子钟显示设计.doc>由会员分享,可在线阅读全文,更多相关<基于ZG211使用C语言编程的电子钟显示设计(最终版)>请在www.woc88.c ...
最新文章
- 马斯克炮轰微软:OpenAI不是你的工具人
- MySQL 加锁处理分析
- Linux_查看CPU信息、机器型号等硬件信息
- Java数据结构和算法(二)——数组
- 如何加快Vivado的编译速度
- 性价比泛滥后,网易严选情怀路线还能否继续吃香?
- 历届试题 大臣的旅费(深搜 树的直径)
- 如何使用 HttpReports 监控 .NET Core 应用程序
- Oracle用户system解锁
- 保送清华成博士,华为 12 年搞通信,他为何如此看待 5G ?| 人物志
- Zend Studio 12.5.1 破解、注册码
- Atitit 安全措施流程法 目录 1. 常见等安全措施方法	2 1.1. 安全的语言 代码法,编译型 java	2 1.2. 安全编码法	2 1.3. 安全等框架类库 api	2 1.4. 加密法
- 《Redis开发与运维》- 核心知识整理二(Lua脚本、发布订阅、客户端等)
- Exchange2010重装注意事项
- Python实现高斯滤波
- 《东周列国志》第五十八回 说秦伯魏相迎医 报魏錡养叔献艺
- 根据王小云教授的算法写的MD5碰撞的程序[c源代码]
- 解决在Python的matplotlib.pyplot图表中显示中文
- 【用户研究】【实战】——“得到”APP 可用性测试
- Linux定时器描述符(timerfd)shiy