文本方式下图形提示界面制作_优秀论文_第1页
文本方式下图形提示界面制作_优秀论文_第2页
文本方式下图形提示界面制作_优秀论文_第3页
文本方式下图形提示界面制作_优秀论文_第4页
文本方式下图形提示界面制作_优秀论文_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论