荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: zzt (好好学习,天天向上), 信区: Program
标 题: [转载] [转寄] 汉字的显示 msdr
发信站: BBS 荔园晨风站 (Thu Mar 2 16:33:02 2000), 转信
【 以下文字转载自 zzt 的信箱 】
【 原文由 zhuzutao.bbs@bbs.whnet.edu.cn 所发表 】
发信人: Foks (Foks), 信区: VC
标 题: 汉字的显示
发信站: 武汉白云黄鹤站 (Wed Jun 9 20:18:36 1999), 站内信件
【 在 zhangxinfu (福福) 的大作中提到: 】
: 那位打下高书我如何
: 在西文下直接汉字平
/*--------------------------------------*/
/* */
/* E文DOS下16点阵汉字的显示 */
/* */
/*--------------------------------------*/
/*
打开汉字库
假设汉字库的路径为
c:\ucdos\hzk16
*/
int OpenLIB() /*可就返回值判断打开字库成功否*/
{
if((fp=fopen("c:\\ucdos\\hzk16","rb"))==NULL)return(0);
return(1);
}
/*
输出到屏幕
x,y: 显示汉字的起点坐标;
Wid:字间距;
Color:汉字的颜色;
Str:汉字串;
*/
void PutCC16(int x,int y,int Wid,int Color,char *Str)
{
unsigned Zcode,Bcode; /* Zcode--区码,Bcode--位码 */
int i,j,k,Rec;
long Len;
char Buf[32];
while(*Str) /* 直到字串显示完 */
{
if((*Str&0x89)&&(*(Str+1)&0x80)) /* 是汉字 */
{
Zcode=(*Str-0xal)&0x7f;
Bcode=(*(Str+1)-0xal)&0x7f;
Rec=Zcode*94+Bcode;
Len=Rec*32L;
fseek(fp,Len,SEEK-SET);
fread(Buf,1,32,fp);
for(i=0,i<16,i++)
for(j=0;j<2;;j++)
for(k=0;k<8;k++)
if(Buf[i*2+j]>>(7-k)&1)
putpixel(x+j*8+k,j+i,Color);
x=x+16+Wid;
Str+=2;
}
}
return;
}
--
※ 来源:.武汉白云黄鹤站 bbs.whnet.edu.cn.[FROM: 202.114.10.144]
--
※ 转寄:.武汉白云黄鹤站 bbs.whnet.edu.cn.[FROM: 210.39.3.50]
--
※ 转载:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.1.11]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店