📄 myprchar.h
字号:
int Printhz(int left,int top,unsigned char byte1,unsigned char byte2,int color)
{
FILE *fphzkp;
unsigned char buffp[32],mflag;
long p;
int y,i,j;
int quma,weima;
fphzkp=fopen("HZK16","rb");
if ((fphzkp==NULL))
{
outtextxy(10,10,"Can't open hzk file! ");
exit(1);
}
if ((byte1>=0xa1&&byte1<=0xfe)&&(byte2>=0xa1&&byte2<=0xfe))
{
quma=byte1-0xa0;
weima=byte2-0xa0;
p=(quma-1)*94+weima-1;
p*=32;
fseek(fphzkp,(long)p,SEEK_SET);
fread(buffp,sizeof(unsigned char ),32,fphzkp);
fclose(fphzkp);
for(i=0,y=top;i<31;i+=2,y++)
for(mflag=0x80,j=0;mflag>0;mflag=mflag>>1,j++)
{
if ((buffp[i]&mflag)!=0) putpixel(left+j,y,color);
if ((buffp[i+1]&mflag)!=0) putpixel(left+j+8,y,color);
}
}
fclose(fphzkp);
return 1;
}
int PrintTextxy(int x,int y,char *p,int color)
{
int oldcolor;
int Printhz(int left,int top,unsigned char byte1,unsigned char byte2,int color);
oldcolor=getcolor();
setcolor(color);
while(*p)
{
if (((unsigned char )*p>=0xa1&&(unsigned char )*p<=0xfe)&&((unsigned char)*(p+1)>=0xa1&&(unsigned char)*(p+1)<=0xfe))
{
if ((x+16-1)>getmaxx()||(y+16-1)>getmaxy()) return 0;
Printhz(x,y,*p,*(p+1),color);
p+=2;
x+=16+2;
moveto(x,y);
}
else
{
char q[2];
moveto(x,y);
*q=*p;
*(q+1)='\0';
settextstyle(DEFAULT_FONT,HORIZ_DIR,1);
outtextxy(x,y+4,q);
x+=8+1;
p++;
}
}
setcolor(oldcolor);
return 1;
}
void drawmat(char *mat,int matsize,int x,int y,int color)
{int i,j,k,n;
n=(matsize-1)/8+1;
for(j=0;j<matsize;j++)
for(i=0;i<n;i++)
for(k=0;k<8;k++)
if(mat[j*n+i]&(0x80>>k)) /*测试为1的位则显示*/
putpixel(x+i*8+k,y+j,color);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -