计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

文本方式下图形提示界面制作(1)

2015-07-07 01:15
导读:计算机应用论文论文,文本方式下图形提示界面制作(1)在线阅读,教你怎么写,格式什么样,科教论文网提供各种参考范例: 在商品化的软件中,有大量的提示信息界面以使用户清楚软件的状
在商品化的软件中,有大量的提示信息界面以使用户清楚软件的状态和运行情况,使用汉字提示可以大大方便不懂西文提示的用户。但如果少量的汉字提示在图形方式下实现,将使程序的设计复杂化,而且图形方式比文本方式的实现要慢得多。本文使用EGA文本方式下汉字显示原理,设计制做了一个微机驻留报警系统的封面提示信息,提示制做人、版权、公司徽标等信息,实现了汉字,图形,字符的彩色提示界面。下面讨论实现的具体方法及原理。
一、汉字字模数据的提取
文本方式下的汉字显示是通过用汉字字模改写西文字符字模的方法实现的,所以应首先获得汉字字模数据。
各种汉字操作系统可以提供不同大小和字体的汉字字模,本文作为一个实例,从金山DOS的cclibj.dot的字库中获得所要显示的楷体汉字字模的16×16点阵数据。
字库的读取用C语言实现,具体方法如下。
(1)把需要显示的汉字作为同字符同样看待的字符串赋值于一个内存变量f,汉字字符串的值在WPS的N命令下输入,然后转入C语言进行编程。
(2)在C语言的环境中汉字字符串的值是国标码,字模的读取,就是利用所要显示的汉字国标码计算此汉字在字库中对应的字模的位置,然后读取字库中的32字节的字模数据至内存缓冲区buf中。
C语言中汉字串的国标码与cclibj.dot字库中一条字符记录具有如下的对应关系:
C1,C2是整型数辅助变量,ihi、ilo表示国标码的高两位和低两位整型数
。l为长整型数,用于字模查找定位。
C1=(i-a0H) 94
C2=i-a0H c1-659
l=C2*32L
利用函数:
lseek(fp, l, seek-set);
read (fp, buf,32);
找到字模开始位置,并读入32字节字模数据到内存缓冲区buf中。
(3)使用输出函数的16进制输出格式,把缓冲区buf的内容输出并记录下来。本例中获得的“天骄”字模数据如下:
天:087ffc 1 010 1014fffe 10 280 280440 4 40820 101020 e o4
骄:8cfdfo 8 2048 204bfe 48 5048 887e8c4 8 81c 88e48844 88 148898 2 8
实现程序见附录程序1。
二、图形字模的设计
由于图示没有统一的标准,所以显示图形的图模数据,用手工设计完成。本例中的图形是公司的徽标,使用11个8×16的西文字符点阵表示图形。11个西文字符点阵表示的图模数据见程序中的row1-graph, row2-graph, row3-graph, 分别表示图1中的第一行,第二行和第三行的图模数据。
@@T5S08500.GIF;图1@@
三、字模和图模数据的写入
1.可修改的字模表
EGA配有的显示存储器分成4个独立区段,称为4个页面。在文本方式下页面0和页面1分放屏幕字符的ASCII码和属性字节,而页面2则用来存放字模表。EGA的字模表本来是存储在ROM中的,但当每次初始化文本方式时,EGA的BIOS会把字模表拷贝到显示存储器的页面2中,由于字模表已移到RAM中,用户程序就能够对字模进行存取和修改了。
2.字模表的结构
EGA的字符宽度固定为8个像素,字符高度允许从1到32范围取值,字模表是根据不间的字符集分块存储的,每个字符集内则按字符的ASCII码值从小到大的顺序排列。每个字符固定占有32B,分别对应字模从上到下的32个扫描行。但并非所有的扫描行全部使用,视不同的显示模式使用其中一部分扫描行。
因此,16×16点阵的汉字字模占用2个西文字符,而图形实现则视情况占用若干个西文字符。
3.字模的装入
字模和图模数据的写入可通过BIOS INT 10H子功能11h来实现。
输入参数:AH=11H
AL=0
ES: BP=字模数据地址
CX=装入字符个数(1~256)
DX=起始字符(0~255)
BL=字符集序号(0~3)
BH=字符高度(1~32)
其中,字模数据地址是程序中的字模数据区的首地址。而起始字符是字模数据写入显示缓冲区开始的位置。
四、汉字及图形的彩色显示 大学排名
1.西文字符的显示原理
输出文本时,页面0存入要输出字符的ASCII码值,页面1存入字符属性。由页面0的ASCII码值索引到页面2的字符发生器,再结合页面1的属性便可在屏幕上显示相应的字符,如图2所示
上一篇:MSComm控件在中文Windows下的通信问题与处理方法 下一篇:没有了