OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5190|回复: 4

TFT显示汉字有几种形式?对硬件有什么分类呢?有字库?无字库?

[复制链接]

69

主题

336

帖子

0

精华

高级会员

Rank: 4

积分
632
金钱
632
注册时间
2013-12-11
在线时间
0 小时
发表于 2014-2-18 11:36:07 | 显示全部楼层 |阅读模式
TFT显示汉字有几种形式?对硬件有什么分类呢?有字库?无字库?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-2-18 12:42:07 | 显示全部楼层
回复【楼主位】雪雪:
---------------------------------
这。。。
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

69

主题

336

帖子

0

精华

高级会员

Rank: 4

积分
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);
}
}
}
求指点
回复 支持 反对

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2014-2-18 20:06:57 | 显示全部楼层
回复【3楼】雪雪:
---------------------------------
汉字字模你可以理解为点阵图片,暗点就是0,亮点就是1.  



所谓取模就是将这种黑白图片按照01的方式以数据来表示。
取模有方向,从左往右,从上到下 等等
将GB2312或是GBK或是你自定义字符中所有字符按照上述方式取模所生成的图片字形库就是字库。
所谓显示汉字,就是将相应的字形数据读出来,按照你取模的方向重新一个点一个点的画上去。
回复 支持 反对

使用道具 举报

69

主题

336

帖子

0

精华

高级会员

Rank: 4

积分
632
金钱
632
注册时间
2013-12-11
在线时间
0 小时
 楼主| 发表于 2014-2-18 21:23:16 | 显示全部楼层
回复【4楼】ricefat:
---------------------------------
恩,谢谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-6 07:49

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表