版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 文本方式下图形提示界面制作文本方式下图形提示界面制作 文本方式下图形提示界面制作 文本方式下图形提示界面制作 在商品化的软件中,有大量的提示信息界面以使用户清楚软件的状态和运行情况,使用汉字提示可以大大方便不懂西文提示的用户。但如果少量的汉字提示在图形方式下实现,将使程序的设计复杂化,而且图形方式比文本方式的实现要慢得多。本文使用EGA文本方式下汉字显示原理,设计制做了一个微机驻留报警系统的封面提示信息,提示制做人、版权、公司徽标等信息,实现了汉字,图形,字符的彩色提示界面。下面讨论实现的具体方法及原理。一、汉字字模数据的提取文本方式下的汉字显示是通过用汉字字模改写西文字符字模的方法实现的,
2、所以应首先获得汉字字模数据。各种汉字操作系统可以提供不同大小和字体的汉字字模,本文作为一个实例,从金山DOS的cclibj.dot的字库中获得所要显示的楷体汉字字模的1616点阵数据。字库的读取用C语言实现,具体方法如下。(1)把需要显示的汉字作为同字符同样看待的字符串赋值于一个内存变量f,汉字字符串的值在WPS的N命令下输入,然后转入C语言进行编程。(2)在C语言的环境中汉字字符串的值是国标码,字模的读取,就是利用所要显示的汉字国标码计算此汉字在字库中对应的字模的位置,然后读取字库中的32字节的字模数据至内存缓冲区buf中。C语言中汉字串的国标码与cclibj.dot字库中一条字符记录具有如
3、下的对应关系:。l为长整型数,用于字模查找定位。C1=(i-a0H)+94C2=i-a0H+c1-659l=C2*32L利用函数:lseek(fp, l, seek-set);read (fp, buf,32);找到字模开始位置,并读入32字节字模数据到内存缓冲区buf中。(3)使用输出函数的16进制输出格式,把缓冲区buf的内容输出并记录下来。本例中获得的“天骄”字模数据如下:骄:8cfdfo 8 2048 204bfe 48 5048 887e8c4 8 81c 88e48844 88 148898 2 8实现程序见附录程序1。二、图形字模的设计T5S08500.GIF;图1三、字模和图模
4、数据的写入1.可修改的字模表2.字模表的结构因此,1616点阵的汉字字模占用2个西文字符,而图形实现则视情况占用若干个西文字符。3.字模的装入字模和图模数据的写入可通过BIOS INT 10H子功能11h来实现。输入参数:AH=11HAL=0ES: BP=字模数据地址DX=起始字符(0255)BL=字符集序号(03)其中,字模数据地址是程序中的字模数据区的首地址。而起始字符是字模数据写入显示缓冲区开始的位置。四、汉字及图形的彩色显示1.西文字符的显示原理T5S08501.GIF;图22.汉字及图形的显示利用西文字符的显示原理,使得字模未修改前应显示的西文字符显示成修改后的汉字字模或图模,通过使
5、用被修改过的数个西文字符字模,显示汉字或图形。3.显示输出BIOS INT10的子功能13H完成字符的输出。输入参数:AH=13HAL=1BL=字符属性CX=显示字符个数DH=显示字符的行号DL=显示字符的列号ES: BP=显示字符串的首地址其中,显示字符串的开始字符由用户在页面0的ASCII码空间内可以任意取值,字符属性可以设定显示的颜色。实现程序见程序2。程序1#include “stdio.h”#include “fcntl.h”unsigned char *f=“天骄”;int fp;main()int i1,i2,i3;long L;unsigned char buf32;fp=op
6、en(“g:wpscclibj.dot”,O-RDWR|O-BINARY);if(fp=-1)cputs(“error on open cclib !”);exit(0);while (i=*f+)!=0)if(i>0xa0)if(t=0)c1=(i-0xa0)*94;t+;elsec2=i-0xa0+c1-659;t=0;l=c2*32L;lseek(fp,l,SEEK-SET);read(fp,buf,32);printf(“hex code:n”);for (i=0;i<32;i+)if(i=16)printf(“%n”,bufi);else printf(“%x”,bufi
7、);printf(“n”);getch();程序2cseg segment para publiccodeassume cs:csegorg 100hmain proc nearstart: mov ax, csegmov es,axmov ax,0003hint 10hmov ax,1100hmov bh,16mov bl,0mov cx,3mov dx,130lea bp,row1-grahhint 10hmov cx,4mov dx,133lea bp,row2-graphint 10hmov cx,5mov dx,137lea bp,row3-graphint 10hmov cx,2m
8、ov dx,142lea bp,tianint 10hmvo cx,2mov dx,144lea bp,jiaoint 10hmov ax,1103hmov bl,00000000bint 10hmov ax,1301hmov bh,0mov bl,01hmov dl,2mov dh,1mov cx,1lop: lea bp,hdint 10hinc dlcmp dl,24jnz lopmov dl,2inc dhcmp dh,7jnz lopmov bl,17hmov cx,3mov dh,2mov dl,12lea bp,str1int 10hmov cx,4mov dh,3mov dl,
9、12lea bp,str2int 10hmov cx,5mov dh,4mov dl,10lea bp,str3int 10hmov cx,2mov dh,3mov dl,4lea bp,ws1int 10hmov cx,2mov dh,3mov dl,20lea bp,ws2int 10hmov ax,0003hint 10hmain endprow1-graph db 00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,01hdb 00h,00h,00h,04h,04h,0ch,00h,00h,00h,38h,3eh,71
10、h,00h,00h,00h,0f0hdb 00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,0c0h,70h,38h,1ch,0ehrow2-graph db 01h,03h,00h,00h,00h,07h,0fh,0fh,00h,00h,00h,3fh,7fh,7fh,00h,00hdb 0f0h,0f0h,00h,00h,00h,0f0h,0f0h,0e0h,00h,00h,00h,0e0h,0e0h,0c0h,00h,00hdb 0eh,0fh,0fh,07h,07h,03h,03h,03h,07h,07h,0fh,0fh,1fh,1fh,3fh,3
11、fhdb 00h,00h,00h,00h,80h,80h,80h,80h,0c0h,0c0h,0c0h,0c0h,0c0h,80h,80h,80hrow3-graph db 00h,00h,00h,00h,00h,00h,00h,01h,01h,03h,00h,00h,00h,00h,00h,00hdb 00h,7fh,7fh,0ffh,00h,00h,00h,0ffh,0ffh,0ffh,00h,00h,00h,00h,00h,00hdb 00h,0ffh,0ffh,0ffh,00h,00h,00h,0ffh,0ffh,0ffh,00h,00h,00h,00h,00h,00hdb 00h,0c3h,0ffh,09fh,0fh,0fh,07h,83h,81h,01h,00h,00h,00h,00h,00h,00hdb 0ffh,0ffh,0ffh,0feh,0feh,0fch,0f8h,0f0h,0c0h,00h,00h,00h,00h,00h,00hh,10h,20h,0c0hdb 00h,0fch,00h,00h,00h,04h,0feh,00h,80h,80h,40h,40h,20h,10h,0eh,04hjiao db 08h,0fdh,08h,48h,4bh,48h,48h,49h,7eh,04h,1ch,0e4h,44h,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 肝硬化说课件的
- 版西安市房屋租赁合同自行成交版
- 2024版房地产开发项目土石方运输合同3篇
- 2024年度工程款结算审计合同2篇
- 手车辆销售合同模板完整版
- 物理化学期中复习 第十五章
- 人教版九年级化学第十二单元1人类重要的营养物质分层作业课件
- 2024年度电子合同在教育电子商务中的应用与法律框架
- 人教版九年级化学第九单元溶液3溶液的浓度课时1溶质的质量分数溶液的稀释或浓缩教学课件
- 新员工培训实施方案策划
- 班组长绩效考核表
- 校园管制刀具排查记录表(共1页)
- 沥青软化点试验(环球法)
- 初二上学期家长会ppt课件
- 痢菌净与6种抗菌药对鸡大肠埃希菌的体外联合药敏试验研究
- 22066kV变电站电气设计
- 高中数学一元二次不等式教案(共5页)
- 危险性较大工程确认报审表.docx
- 医院手术部(室)管理规范试题及答案
- 宋太祖赵匡胤PPT
- 中职学校《金属加工与实训》全套电子教案(含教学进度计划)(配套教材:高教版中职统编)云天课件
评论
0/150
提交评论