📄 hzk.c
字号:
unsigned char bit[8]={128, 64, 32, 16, 8, 4, 2, 1};
FILE *hzkstream=NULL;
int hz_init(){
if ((hzkstream = fopen("hzk16", "rb")) == NULL) return 0;
else return 1;
}
void hz_release(){
if (hzkstream!=NULL) fclose(hzkstream);
}
char *hz_getbit(char ch0, char ch1, char *bitdata){
long fpos;
fpos = 32L * (((unsigned char)ch0 - 161) * 94 + ((unsigned char)ch1 - 161));
fseek(hzkstream, fpos, SEEK_SET);
fread(bitdata, 32, 1, hzkstream);
return bitdata;
}
void hz_put(char *bitdata, int x, int y, unsigned char color){
register int i, j, k;
unsigned vpos;
for (i = 0; i < 16; i++)
for (j = 0; j < 8; j++){
if (bitdata[2 * i]&bit[ j ]) Plot_Pixel_Fast(x + j, i + y, color);
if (bitdata[2 * i + 1]&bit[ j ]) Plot_Pixel_Fast(x + 8 + j, i + y, color);
}
}
void hz_put_string(char *str, int x, int y, unsigned char color){
int num, i, j, xx;
unsigned char s0, s1;
char bitdata[32];
num = strlen(str);
xx = x;
for(i = 0; i < num; i += 2){
hz_put(hz_getbit(str[i], str[i + 1], bitdata), xx, y, color);
xx += 16;
}
}
void hz_put_mix(unsigned char *str, int x, int y){
int len, i;
unsigned char s0, s1;
char bitdata[32];
len = strlen(str);
for (i = 0; i < len; i++){
if (str[i] > 160){
hz_put(hz_getbit(str[i], str[i + 1], bitdata), x + i * 8, y, 255);
i++;
}
else alpha_put(str[i], x + i * 8, y + 1);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -