关于Turbo C在图形状态下快速显示彩色汉字的方法
在用Turbo C提供的图形函数进行作图时,为了使屏幕显示更加直观明了,常常需要在图形显示的同时,显示必要的汉字说明,Turbo C在图形状态下快速显示彩色汉字的方法。这时Turbo C提供的一些函数就不能用了。
在汉字操作系统中,有一个16×16点阵的汉字库,主要用于屏幕显示。字库中的汉字按16×16点阵模式存储,即每个汉字相当于16×16=256个点组成。占用16×2=32个连续的字节单元。字节的每一位(bit)表示一个点的属性:1表示亮点,0表示暗点。连续的两个字节表示该汉字字模的一行。32个字节的排列顺序如图:
@@T5S08100.GIF;图1@@
计算机对西文字符采用一个字节表示,我国规定汉字用内码(2个字节)表示。为了保证中西文兼容,也就是说,汉字系统的内码必须同时允许ASCII码和汉字的同时使用,而两者之间不能发生冲突。目前规定每个字节只用七位,若两个字节的最高位均为1,则该字符为汉字。
国标对汉字库的结构作了统一的规定:即将汉字库分为若干个区,每个区有94个汉字。
每一个汉字在字库中有一个固定的区和位,即每一个汉字有一个区位码。知道了区位码也就相当于知道了汉字在字库中的位置。由于汉字的内码与区位码有一定的关系,所以,只要通过内码就可以得到区位码,从而也就得到了汉字的字模。
设一个汉字的内码为ddff,则此汉字的区码为dd-161;位码为ff-161;该汉字字模的第一个字节在字库中的位置是(94×区码 位码)×32。这时只要连续的读出32个字节,就可以得到该汉字的字模。
有些文章和书籍采用写点的方式来处理这32个字节。即某位为1,则写点,某位为0,则不写点。如果这样处理,则每个汉字需循环256次,写256个点,字数越多,则会显得很慢。
Turbo C提供了这样两个函数:
setlinestyle(int linestyle,unsignedupattern,int thickness);
line(int x0,int y0,int x1,int y1);
setlinestyle函数为设置线型函数,当linestyle取USERBIT-LINE且thickness取NORM-WIDTH时,其后的line函数就会按upattern的16位二进制数画一点宽的线,计算机论文《Turbo C在图形状态下快速显示彩色汉字的方法》。upattern的每一位代表一个象元,如果那位为1,则该象元打开,否则该象元关闭。
我们在读字模的时候可以一次读2个字节,形成一个16位的'二进制数,把此二进制数设为upattern,然后画线。这样只需循环16次就可写完一个汉字。速度得到很大的提高。尤其在字数较多时,更体现出此方法的优势。
以下为用画线的方法在西文状态下显示汉字的函数,在Turbo C 1.0、DOS6.0、兼容386机上运行通过。
#include
#include
#include
FILE *stream; //设 stream为全程变量//
void open-file
{//打开汉字库函数,使用的汉字库为UCDOS的16点阵字库:HZK16//
if((stream=fopen("hzk16","rb"))==NULL)
{ printf("Can't Open File HZK16"); exit(1);}
}
void close-file
{//关闭汉字库函数//
fclose(stream); return;
}
void write16(unsigned char *word,int x,int y,int wd,int col)
{//word为所要显示的汉字串,x,y为要显示汉字的起始坐标,wd为两个汉字//
//之间的间隔,col为要显示汉字的颜色.//
register int k,i;
unsigned char cw[33];
char c[2];
unsigned long int qu-ma,wei-ma;
setcolor(col);settextstyle(0,HORIZ-DIR,1);
for(k=0;word[k]!='/0';k =2)
-
教室多媒体设备管理制度
在快速变化和不断变革的今天,需要使用制度的场合越来越多,制度一经制定颁布,就对某一岗位上的或从事某一项工作的人员有约束作用,是他们行动的准则和依据。那么相关的制度到底是怎么制定的呢?下面是小编帮大家整理的教室多媒体设备管理制度,供大家参考借鉴,希望可以帮...
-
《有趣的图形》知识点总结
有趣的图形1、认识图形---(长方形、正方形、三角形和圆)2、动手做(一)3、动手做(二)4、动手做(三)【知识点】认识图形(长方形、正方形、三角形和圆)1、对长方形、正方形、三角形和圆的认识,能分辨出四种基本的图形。2、学会观察,能在生活中找出基本的形状,会举例...
-
运用多媒体优化作文课堂教学的论文
语文教学中写作训练是最关键、最综合反映学生能力的一个环节,也是困扰学生的一大难题。现在,随着以计算机、网络为主体的多媒体技术与教育的联姻,新世纪的教学时空如星云一般空前拓展。运用多媒体辅助作文教学的尝试,让我深切感受到多媒体犹如一缕春风,一扫以往作文...
-
物理教学中多媒体的应用(15篇)
物理教学中多媒体的应用1摘要:现代教育技术的发展,是对传统教育模式的重大改革,更充分发挥了教师在课堂教学中的主导作用和学生的主体作用,同时也更有效地突破教学重难点,达到优化课堂的目的,提高了教学质量。作为一种现代化的教学手段和教学方式,它更体展现了新的教...
相关文章
- doubt是什么意思 doubt中文意思-时态变形-搭配-例句
- 如何在Word2003中用像素方式显示图形图片大小
- three cube roots of unity该如何理解?
- correct是什么意思 correct变形-短语-辨析-讲解视频
- win10系统第一次打开acrobat不显示菜单栏和工具栏解决方法
- culture是什么意思 civilization+culture含义区别用法
- 会计中的cost centre/ cost unit/ cost driver三者如何分?
- 解析cpu power limit control 主机BOIS里的配置经验
- 在Word里面运用AutoCAD图形
- ROOT大师演示 ROOT 华为 C8812(图+文)