📄 hzk24.c
字号:
#include "ascii8x16.h"
#include "hzk24.h"
void Lcd_DspAscII8X16(lcd_layer p,uint32 x0, uint32 y0, uint8 *s);
void Lcd_DspHz24(lcd_layer p,uint32 x0, uint32 y0, uint8 *s);
void Lcd_DspAscII8X16(lcd_layer p,uint32 x0, uint32 y0, uint8 *s)
{
int32 i,j,k,x,y,xx;
uint8 qm;
int32 ulOffset;
int8 ywbuf[16],temp[2];
for(i = 0; i < strlen((const int8*)s); i++)
{
if((uint8)*(s+i) >= 161)
{
temp[0] = *(s + i);
temp[1] = '\0';
return;
}
else
{
qm = *(s+i);
ulOffset = (int32)(qm) * 16;
for (j = 0; j < 16; j ++)
{
ywbuf[j] = g_ucAscii8x16[ulOffset + j];
}
for(y = 0; y < 16; y++)
{
for(x = 0; x < 8; x++)
{
k = x % 8;
if (ywbuf[y] & (0x80 >> k))
{
xx = x0 + x + i*8;
//PutPixel( xx, y + y0, (unsigned char)ForeColor);
//fb_w (y + y0, xx, ForeColor,1);
lcd_layer_setpixel(&p, xx,y + y0,0x00);
}
}
}
}
}
}
void Lcd_DspHz24(lcd_layer p,uint32 x0, uint32 y0, uint8 *s)
{
uint32 i,j,k,x,y,xx;
uint8 qm,wm;
int32 ulOffset;
int8 hzbuf[72],temp[2];
for(i = 0; i < strlen((const int8*)s); i++)
{
if(((uint8)(*(s+i))) < 161)
{
temp[0] = *(s+i);
temp[1] = '\0';
break;
}
else
{
qm = *(s+i) - 176;
wm = *(s+i + 1) - 161;
ulOffset = (long)(qm * 94 + wm) * 72;
for (j = 0; j < 72; j ++)
{
hzbuf[j] = g_auc_hzk24[ulOffset + j];
}
for(y = 0; y < 24; y++)
{
for(x = 0; x < 24; x++)
{
k = x % 8;
if (hzbuf[y * 3 + x / 8] & (0x80 >> k))
{
xx = x0 + x + i*12;
//PutPixel( xx, y + y0, (UINT8T)ForeColor);
//fb_w (y + y0, xx, (unsigned char)ForeColor,1);
lcd_layer_setpixel(&p, xx,y + y0,0x00);
}
}
}
i++;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -