hz.c
来自「纯用C写的图形化的职工管理系统 虽然只实现了基本功能 但很有代表性」· C语言 代码 · 共 45 行
C
45 行
/*有关汉字的定义*/
static FILE* hzkfp;
/*初始化汉字*/
void inithzk()
{
if ((hzkfp=fopen("hzk16.cha","rb"))==NULL)
{ printf("Can't open chinese character lib:\"hzk16.cha\",Please add it");
getch(); closegraph(); exit(0);
}
}
/*关闭汉字库*/
void closehzk()
{
fclose(hzkfp);
}
/*汉显*/
void hz(int x,int y,int a/*两字对应边间距*/,int COL/*放大倍数*/,int color,char *s)
{
int ROW;
char buffer[32];
register m,n,i,j,k;
unsigned char qh,wh;
unsigned long offset;
ROW=COL;
while(*s)
{
qh=*(s)-0xa0;
wh=*(s+1)-0xa0;
offset=(94*(qh-1)+(wh-1))*32L;
fseek(hzkfp,offset,SEEK_SET);
fread(buffer,32,1,hzkfp);
for (i=0;i<16;i++)
for(n=0;n<ROW;n++)
for(j=0;j<2;j++)
for(k=0;k<8;k++)
for(m=0;m<COL;m++)
if (((buffer[i*2+j]>>(7-k))&0x1)!=NULL)
putpixel(x+8*j*COL+k*COL+m,y+i*ROW+n,color);
s+=2;
x+=a;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?