翔飞 发表于 2014-3-24 20:08:54

emWin外部字库使用遇挫

 

emWin5.12
芯片选用STM32F103VC
LCD使用TFT1289

参照 第六期:emWin5.20汉字显示方法二(将字库放到外部Flash,SD卡等)移植了字库,并显示出来
http://bbs.armfly.com/attachment/Fid_12/12_2573_41902931fd498e4.png?427

如图,使用外部字库时,字体可以正常显示,但是背景却出现了好多黑色的区域,(不使用外部字库时背景正常)
还请各位帮忙分析原因  http://bbs.armfly.com/images/post/smile/wangwang/22.gif。。。
这里是程序

那片清茶 发表于 2014-3-25 09:12:37

RE:emWin外部字库使用遇挫

是不是扫描出现问题了。

翔飞 发表于 2014-3-25 10:09:15

回复:emWin外部字库使用遇挫

回复第 2 楼 于2014-03-25 09:12:37发表:
是不是扫描出现问题了。
不使用外部字库的时候,显示是正常的。
 

story_xjj 发表于 2014-3-25 10:12:22

RE:emWin外部字库使用遇挫

字库是自己做的还是直接利用现成的字库啊,是不是字库的解析有问题

翔飞 发表于 2014-3-25 11:57:11

回复:emWin外部字库使用遇挫

回复第 4 楼 于2014-03-25 10:12:22发表:
字库是自己做的还是直接利用现成的字库啊,是不是字库的解析有问题
 
 
直接利用现成的,

 

发表于 2014-3-25 17:19:30

RE:emWin外部字库使用遇挫

仿真看一下,显示下个字体的时候,字库读取的数据是什么样的。能不能把你说的两种情况发一下图片。

翔飞 发表于 2014-3-25 20:43:54

回复:emWin外部字库使用遇挫

回复第 6 楼 于2014-03-25 17:19:30发表:
仿真看一下,显示下个字体的时候,字库读取的数据是什么样的。能不能把你说的两种情况发一下图片。
 
 
先上一张正常的图
使用自动存储,创建对话框,建立按钮 TEXT ,字体全部使用emwin自带字体

 
 
11111111111111111111111111111
程序使用自动存储,创建一个对话框,在对话框里建立一个 按钮(显示emwin自带英文字符) 和 一个TEXT文本(显示外部字库的汉字)“世界人民需要你”

实际显示如图

背景出现了黑色的区域,但是 TEXT可正常显示字体,点击 按钮 之后按钮上的字符没有出现乱码的现象
 
222222222222222222222222222222222222
不使用自动存储的情况,如下图,TEXT不能正常显示汉字,按钮可正常显示字符

点击按钮之后,按钮上的英文字符也不能正常显示了,如图

貌似跟存储设备也有关系,关闭了之后,背景显示倒是正常了,可是点击按钮之后,按钮显示的字符又不正常了。
 
3333333333333333333333333333333333
不创建对话框,直接在LCD绘制汉字,程序

实际显示如下(关闭或者开启自动存储,效果都是一样)

 背景是正常的,显示字体是不正常的
 
 
 
 
 

翔飞 发表于 2014-3-25 20:50:20

回复:emWin外部字库使用遇挫

回复第 6 楼 于2014-03-25 17:19:30发表:
仿真看一下,显示下个字体的时候,字库读取的数据是什么样的。能不能把你说的两种情况发一下图片。
 
好像得出一点结论
背景不能正常显示跟 自动存储有关
汉字不能正常显示,也许该按你说的看下字库读出的数据
还有一个问题,有存储设备的时候,字体可以正常显示,不使用的时候,按钮和TEXT显示都会乱码
 

翔飞 发表于 2014-3-25 23:42:22

回复:emWin外部字库使用遇挫

回复第 6 楼 于2014-03-25 17:19:30发表:
仿真看一下,显示下个字体的时候,字库读取的数据是什么样的。能不能把你说的两种情况发一下图片。
 
问题出在FATFS读取TF卡的函数,我把字体的编码直接给缓冲区,这样没有一点问题,
还不清楚是Fatfs还是SDIO的问题。
我用printf打印出来GUI_FontDataBuf的数据,也没发现什么问题,纠结。。。

 

发表于 2014-3-26 11:39:58

RE:emWin外部字库使用遇挫

这样就要看你读取出来的数据了。另外,你要注意一下显示的时候,一般以\0结束,如果没有\0他会把后面的数据也显示的。建议你显示的时候加一个长度的处理,不要用strlen来判断长度。
页: [1] 2
查看完整版本: emWin外部字库使用遇挫