




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
图形模式下的汉字显示我们在编写一些应用软件时,为了使软件更为通俗浅显、易学易用,具备汉字的用户界面是必不可少的条件。在文本模式下,只要有汉字操作系统的支持,显示汉字是不成问题的。只要用printf或cprintf就可以了。#include void main()printf(我正在学习语言!);在图形模式下显示汉字就稍稍麻烦些。可幸的是有很多人从事这一问题的研究,并开发了一些用于汉字显示的函数。这些函数不需要汉字系统的支持,但用到其中的字库文件。如的HZK16。汉字显示的第一步是打开字库文件。 函数: int OpenHz(const char *Hz16Path); 功能:打开字库文件Hz16Pathint handle; /*打开的字库文件指针*/int OpenHz(const char *Hz16Path)return (handle=open(Hz16Path,O_RDONLY|O_BINARY); 打开字库文件后,就可以用下面介绍的函数显示16点阵的汉字。函数: int WrtHz16(int x,int y,int z,int color,char *p); 功能:在(x,y)用color颜色显示汉字串p,汉字之间的空格数为z。intWrtHz16(int x, int y,int z,int color,char *p)unsigned int i,c1,c2,f=0; /*x,y:write at (x,y);*/int rec,i1,i2,i3; /*z:space between;*/long l; /*color:txt color*/char by32; /*p:HZ str*/if( handle0xa1)if(f=0)c1=(i-0xa1)&0x07f;f=1;elsec2=(i-0xa1)&0x07f;f=0;rec=c1*94+c2;l=rec*32L;lseek(handle,l,SEEK_SET);read(handle,by,32);for(i1=0;i116;i1+)for(i2=0;i22;i2+)for(i3=0;i3n)&1);汉字显示结束,应该关闭字库文件。void CloseHz(void)close( handle );#include CaicIncludeHz.h#include #include const char* Hz16Path = UCDOSHzk16.;const char* HzStr = 苦丁香语言辅助学习软件;void main()int gr=DETECT,gm;initgraph(&gr,&gm,CaicBgi);OpenHz( Hz16Path );Wrt16Hz(20,20,4,RED,HzStr);CloseHz();getch();closegraph();显示点阵及放大汉字下面探讨一下如何显示24点阵及放大汉字。24点阵字库也可在任意一种汉字系统中找到。如的HZK24S。函数: int WrtHz24(int x,int y,int z,int color,int m,int n,char *p); 功能:显示点阵及放大汉字。int WrtHz24(int x,int y,int z,int color,int m,int n,char *p)unsigned int i,c1,c2,f=0; /*z: 汉字字符间的空格*/int i1,i2,i3,i4,i5,rec; /*x,y: 先是位置(x,y)*/long l; /*color:汉字颜色*/char by72; /*m: x 方向的放大倍数*/*n: y 方向的放大倍数*/if( handle0xa1)if(f=0)c1=(i-0xa1)&0x7f;f=1;elsec2=(i-0xa1)&0x7f;f=0;rec=(c1-15)*94+c2;l=rec*72L;lseek(handle,l,SEEK_SET);read(handle,by,72);for(i1=0;i124*m;i1=i1+m)for(i4=0;i4M;I4+)for(i2=0;i2=2;i2+)for(i3=0;i38;i3+)if(GetBit(byi1/m*3+i2,7-i3)for(i5=0;i5N;I5+)putpixel(x+i1+i4,y+i2*8*n+i3*n+i5,color);x=x+24*m+z;return(x); 使用Wrt24Hz的例子:#include CaicIncludeHz.h#include #include const char* Hz24Path = C:Ucdosfnthzk24s.const char* HzStr = 苦丁香语言辅助学习软件;void main()int gr=DETECT,gm;initgraph(&gr,gm,CaicBgi);OpenHz( Hz24Path );Wrt24Hz(20,20, /*先是在(x,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年宿州九小教育集团(高新校区)教师招聘3名考试模拟试题及答案解析
- 市政桥梁拆除安全施工方案设计
- 2025临沂郯城新村银杏产业开发区招聘城乡公益性岗位人员的(40名)考试模拟试题及答案解析
- 法务人员合同审查实务操作指南
- 高中地理 地球的运动说课稿 湘教版必修1
- 拼多多2025年农村电商市场增长策略研究报告
- 工伤等级评定法律法规总结
- 班级学生行为管理与激励机制策略
- 高考语文散文阅读专项训练
- 客服人员心理健康与压力管理策略
- 医疗法律法规知识培训
- 血友病课件完整版
- 神经系统的分级调节课件 【知识精讲+备课精研+高效课堂】 高二上学期生物人教版选择性必修1
- 三年级上册数学试卷-第一单元 混合运算 北师大版 (含答案)
- 临床职业素养
- 种子学-种子的化学成分课件
- 教学课件-英语学术论文写作(第二版)
- 手术室无菌技术 课件
- ISO 31000-2018 风险管理标准-中文版
- 六年级数学上册教案6:分数乘法:分数乘小数-人教版
- 小学综合实践六年级上册第1单元《考察探究》教材分析及全部教案
评论
0/150
提交评论