📄 图形模式下的汉字显示.htm
字号:
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)<BR>{<BR>unsigned
int i,c1,c2,f=0; /*x,y:write at (x,y);*/<BR>int
rec,i1,i2,i3; /*z:space between;*/<BR>long l;
/*color:txt color*/<BR>char by[32]; /*p:HZ
str*/<BR>if( handle<0 ) return -1;
while((i=*p++)!=0){<BR>if(i>0xa1)<BR>if(f==0){<BR>c1=(i-0xa1)&0x07f;<BR>f=1;<BR>}<BR>else{<BR>c2=(i-0xa1)&0x07f;<BR>f=0;<BR>rec=c1*94+c2;<BR>l=rec*32L;<BR>lseek(handle,l,SEEK_SET);<BR>read(handle,by,32);<BR>for(i1=0;i1<16;i1++)<BR>for(i2=0;i2<2;i2++)<BR>for(i3=0;i3<8;i3++)<BR>if(GetBit(by[i1*2+i2],7-i3))<BR>putpixel(x+i2*8+i3,y+i1,color);<BR>x=x+z+16;<BR>}<BR>}<BR>return(x);<BR>}<BR>函数GetBit定义如下:<BR> 函数:
int GetBit(unsigned char c,int n);
功能:取得汉字的点阵数据。<BR>int GetBit(unsigned char c,int
n)<BR>{<BR>return((c>>n)&1);<BR>}<BR>汉字显示结束,应该关闭字库文件。<BR>void
CloseHz(void)<BR>{<BR>close( handle
);<BR>}<BR>#include
"\Caic\Include\Hz.h"<BR>#include
<GRAPHICS.H><BR>#include <CONIO.H>const char*
Hz16Path = "\\UCDOS\\Hzk16.";<BR>const char* HzStr
= "苦丁香C语言辅助学习软件";<BR>void main(){<BR>int
gr=DETECT,gm;<BR>initgraph(&gr,&gm,"\\Caic\\Bgi");<BR>OpenHz(
Hz16Path
);<BR>Wrt16Hz(20,20,4,RED,HzStr);<BR>CloseHz();<BR>getch();<BR>closegraph();<BR>}显示24点阵及放大汉字<BR> 下面探讨一下如何显示24点阵及放大汉字。24点阵字库也可在任意一种汉字系统中找到。如UCDOS的HZK24S。<BR>函数:
int WrtHz24(int x,int y,int z,int color,int m,\int
n,char *p); 功能:显示24点阵及放大汉字。<BR>int WrtHz24(int
x,int y,int z,int color,int m,int n,char
*p)<BR>{<BR>unsigned int i,c1,c2,f=0; /*z:
汉字字符间的空格*/<BR>int i1,i2,i3,i4,i5,rec; /*x,y:
先是位置(x,y)*/<BR>long l; /*color:汉字颜色*/<BR>char
by[72]; /*m: x 方向的放大倍数*/<BR>/*n: y
方向的放大倍数*/<BR>if( handle<0 ) return -1; /*p:
显示汉字串*/
while((i=*p++)!=0){<BR>if(i>0xa1)<BR>if(f==0){<BR>c1=(i-0xa1)&0x7f;<BR>f=1;<BR>}<BR>else{<BR>c2=(i-0xa1)&0x7f;<BR>f=0;<BR>rec=(c1-15)*94+c2;<BR>l=rec*72L;<BR>lseek(handle,l,SEEK_SET);<BR>read(handle,by,72);<BR>for(i1=0;i1<24*m;i1=i1+m)<BR>for(i4=0;i4<M;I4++)<BR>
for(i2=0;i2<=2;i2++)<BR>for(i3=0;i3<8;i3++)<BR>if(GetBit(by[i1/m*3+i2],7-i3))<BR>for(i5=0;i5<N;I5++)<BR>
putpixel(x+i1+i4,y+i2*8*n+i3*n+i5,color);<BR>x=x+24*m+z;<BR>}<BR>}<BR>return(x);<BR>}
使用Wrt24Hz的例子:#include
"\Caic\Include\Hz.h"<BR>#include
<GRAPHICS.H><BR>#include <CONIO.H>const char*
Hz24Path = "C:\\Ucdos\\fnt\\hzk24s."<BR>const
char* HzStr = "苦丁香C语言辅助学习软件";<BR>void
main(){<BR>int
gr=DETECT,gm;<BR>initgraph(&gr,gm,"\\Caic\\Bgi");<BR>OpenHz(
Hz24Path );<BR>Wrt24Hz(20,20, /*先是在(x,y)*/<BR>4,
/*汉字间的空格为4*/<BR>RED, /*用红色显示*/<BR>2, /*x
方向放大2倍*/<BR>4, /*y 方向放大4倍*/<BR>HzStr);
/*显示字符串*/<BR>CloseHz();<BR>getch();<BR>closegraph();<BR>}
<BR></P>
<P></P>
<P></P>
<P align=center><FONT color=#3300cc>资料收集:beck
Copyright 2002 www.vcok.com, All Rights Reserved
</FONT></P>
<P></P></DIV></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
<TABLE align=center bgColor=#d7ebff border=0
borderColorDark=#ffffff cellPadding=0 cellSpacing=0
width=650><TBODY>
<TR align=middle bgColor=#3986ef vAlign=center>
<TD align=left colSpan=2 height=25 id=notice
vAlign=center> <FONT
color=#ffffff><B>[</B>来源<B>]</B>: 张楚权
<B>[</B>编辑<B>]</B>: <FONT color=#ffffff>beck
</FONT> <B>[</B>加入时间<B>]</B>:2002-8-12
</FONT></TD></TR></TBODY></TABLE><BR><BR>
<TABLE border=0 width="100%">
<TBODY>
<TR>
<TD>
<LI><FONT color=#0772b1>上篇文章</FONT>:<A
href="http://www.vcok.com/class/list.asp?id=259">图形处理</A>
<LI><FONT color=#0772b1>下篇文章</FONT>:<A
href="http://www.vcok.com/class/list.asp?id=261">附录一:
Turbo C(V2.0)编译错误信息(教程一)</A> </LI></TD>
<TD align=right>
<SCRIPT language=JavaScript>
var onecount;
onecount=0;
subcat = new Array();
subcat[0] = new Array("C语言教程","8","35");
subcat[1] = new Array("C技术文章","8","36");
subcat[2] = new Array("C试题库","8","37");
subcat[3] = new Array("C程序百例","8","38");
subcat[4] = new Array("C函数库","8","39");
subcat[5] = new Array("数据结构教程","9","40");
subcat[6] = new Array("常用算法","9","41");
subcat[7] = new Array("在线测试","8","42");
subcat[8] = new Array("linux入门级","10","43");
onecount=9;
function changelocation(locationid)
{
document.myform.Nclassid.length = 0;
var locationid=locationid;
var i;
for (i=0;i < onecount; i++)
{
if (subcat[i][1] == locationid)
{
document.myform.Nclassid.options[document.myform.Nclassid.length] = new Option(subcat[i][0], subcat[i][2]);
}
}
}
</SCRIPT>
<FORM action=ru_query.asp method=post name=myform>文章搜索:
<SELECT name=action size=1> <OPTION selected
value=title>按文章标题搜索</OPTION> <OPTION
value=writer>按文章来源搜索</OPTION> <OPTION
value=content>按文章内容搜索</OPTION> <OPTION
value=Nkey>按照关键词搜索</OPTION></SELECT> <SELECT
name=classid
onchange=changelocation(document.myform.classid.options[document.myform.classid.selectedIndex].value)
size=1> <OPTION selected value="">请指定范围</OPTION>
<OPTION value=8>C语言教室</OPTION> <OPTION
value=9>数据结构</OPTION> <OPTION
value=10>Linux初探</OPTION></SELECT> <SELECT
name=Nclassid> <OPTION selected
value="">请指定范围</OPTION> <OPTION value=8>C语言教程</OPTION>
<OPTION value=8>C技术文章</OPTION> <OPTION
value=8>C试题库</OPTION> <OPTION value=8>C程序百例</OPTION>
<OPTION value=8>C函数库</OPTION> <OPTION
value=9>数据结构教程</OPTION> <OPTION value=9>常用算法</OPTION>
<OPTION value=8>在线测试</OPTION> <OPTION
value=10>linux入门级</OPTION></SELECT> <INPUT maxLength=50
name=keyword size=10 value=输入关键字> <INPUT name=Submit type=submit value=搜索>
</FORM></TD></TR></TBODY></TABLE></TD></TR>
<TR>
<TD bgColor=#e6e6e6 width="50%">□- C技术文章热点文章</TD>
<TD bgColor=#e6e6e6 width="50%">□- 相关文章</TD></TR>
<TR>
<TD bgColor=#ffffff vAlign=top width="50%">1.<A
href="http://www.vcok.com/class/list.asp?id=213" target=_top
title=Tc2.0编写俄罗斯方块游戏> Tc2.0编写俄罗斯方块游戏 </A>[阅读:<FONT
color=red>10936</FONT>]<BR>2.<A
href="http://www.vcok.com/class/list.asp?id=331" target=_top
title=查找算法演示:二分法> 查找算法演示:二分法 </A>[阅读:<FONT
color=red>10254</FONT>]<BR>3.<A
href="http://www.vcok.com/class/list.asp?id=326" target=_top
title=以前常用的攻击软件源代码> 以前常用的攻击软件源代码 </A>[阅读:<FONT
color=red>10045</FONT>]<BR>4.<A
href="http://www.vcok.com/class/list.asp?id=327" target=_top
title=设计彩色框的C源程序> 设计彩色框的C源程序 </A>[阅读:<FONT
color=red>9488</FONT>]<BR>5.<A
href="http://www.vcok.com/class/list.asp?id=330" target=_top
title=排序算法演示:冒泡法> 排序算法演示:冒泡法 </A>[阅读:<FONT
color=red>8141</FONT>]<BR></TD>
<TD bgColor=#ffffff vAlign=top width="50%"><A
href="http://www.vcok.com/class/list.asp?id=328">聆听混沌的声音</A><BR><A
href="http://www.vcok.com/class/list.asp?id=327">设计彩色框的C源程序</A><BR><A
href="http://www.vcok.com/class/list.asp?id=326">以前常用的攻击软件源代码</A><BR><A
href="http://www.vcok.com/class/list.asp?id=260">图形模式下的汉字显示</A><BR><A
href="http://www.vcok.com/class/list.asp?id=259">图形处理</A><BR></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
<DIV></DIV>
<TABLE bgColor=#ffffff border=0 width=778>
<TBODY>
<TR bgColor=#ffffff>
<TD colSpan=3></TD></TR>
<TR vAlign=baseline>
<TD colSpan=3>
<HR noShade SIZE=1>
</TD></TR>
<TR>
<TD width="7%"> </TD>
<TD width="87%">
<DIV align=center>唯C世界|<FONT
face="Arial, Helvetica, sans-serif">http://wWw.VcOk.Com</FONT> <FONT
face="Arial, Helvetica, sans-serif">Ver 1.00 Design By <FONT
face="Verdana, Arial, Helvetica, sans-serif"><B><FONT
color=#ff0000><A href="http://www.vcok.com/"><FONT
color=#ff0009>VcOk.com</FONT></A></FONT></B></FONT></FONT></FONT></DIV></TD>
<TD width="6%"> </TD></TR>
<TR>
<TD width="7%"> </TD>
<TD width="87%">
<DIV align=center><FONT
face="Arial, Helvetica, sans-serif">CopyRight <FONT
color=#ff0000>©</FONT> .:.:.:2002-2008 AT Tie Ling Liaoning
China:.:.:.</FONT></DIV></TD>
<TD width="6%"> </TD></TR>
<TR>
<TD width="7%"> </TD>
<TD align=middle
width="87%"> 辽宁省铁岭师范高等专科学校计算机中心
</TD></TR></TBODY></TABLE>
<TABLE bgColor=#b5b6b5 cellSpacing=1 height=30 width=778>
<TBODY>
<TR>
<TD align=middle bgColor=#ffffff>在此感谢 <A
href="http://www.kingxp.com/">广东省中联科技网络有限公司</A> 为我公司提供空间。/ 合作伙伴:<A
href="http://www.11k.net/">中国站长资讯网</A></TD></TR></TBODY></TABLE></TR></TBODY></DIV></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -