高级会员

- 积分
- 632
- 金钱
- 632
- 注册时间
- 2013-12-11
- 在线时间
- 0 小时
|

楼主 |
发表于 2014-2-18 14:45:08
|
显示全部楼层
回复【2楼】Badu_Space:
---------------------------------
不好意思,问题有点幼稚了,我应该怎么去显示汉字?有几种方式?看到网上说的挺乱的,什么取模,字库的,我用的程序里面有一个这样的函数不知道是怎么用的?
/*****************************************************
* 函数名 CD_DrawCharHZ
* 输入参数:
* Xpos : X坐标
* Ypos : Y坐标
* c : 指向字符点阵的指针
* width : 字符宽度,英文字符是8,汉字是16
* 返回值: None
* 函数说明:画一个字符,支持汉字
******************************************************/
void LCD_DrawCharHZ(uint16_t Xpos, uint16_t Ypos, const uint8_t *c, uint8_t width)
{
uint32_t index = 0, i = 0;
uint8_t Yaddress;
Yaddress = Ypos;
LCD_SetCursor(Xpos, Ypos);
if (s_Transparent == 0) //背景不透明
{
for (index = 0; index < 16; index++) /* 字符高度 */
{
LCD_WriteRAM_Prepare();
for (i = 0; i < width; i++) /* 字符宽度 */
{
if ((c[index * (width / 8) + i / 8] & (0x80 >> (i % 8))) == 0x00)
{
LCD_WriteRAM(s_BackColor);
}
else
{
LCD_WriteRAM(s_TextColor);
}
}
Yaddress++;
LCD_SetCursor(Xpos, Yaddress);
}
}
else //背景透明
{
for (index = 0; index < 16; index++) /* 字符高度 */
{
for (i = 0; i < width; i++) /* 字符宽度 */
{
if ((c[index * (width / 8) + i / 8] & (0x80 >> (i % 8))) != 0x00)
{
LCD_WriteRAM_Prepare();
LCD_WriteRAM(s_TextColor);
}
}
Yaddress++;
LCD_SetCursor(Xpos, Yaddress);
}
}
}
求指点 |
|