标题: TFT屏字体使用叠加模式,动态叠加在图片写代码遇到的问题[已解决] [打印本页]

作者: EEmicro_Huang    时间: 2024-12-6 19:05
标题: TFT屏字体使用叠加模式,动态叠加在图片写代码遇到的问题[已解决]
1.本人目前的两种想法 else 注释掉的是打点函数。
2.两种显示遇到的问题均是填充的颜色不准确,将图片保存在W25Q64里,每个像素的地址计算不准确 图中有很多种PIC_Buf_Add的计算方法,效果都不太好。
这个用的是色块填充,有轻微色差
这个用的是叠加算法,混合打点,颜色偏的厉害

问题在于使用色块填充整个屏幕,X,Y都取0开始,颜色和直接刷新整张图片都有差别,难道一个像素不是2Byte吗,屏幕是(ST7789 RBG565色彩)?


                       12-7日更新

更新代码
最新进展,代码理解是没有问题的,显示问题是当Y>100时显示错误,Y<=100时没有问题。
测试效果
将图片放大后应该是看清色块很明显有差别。



写完了

作者: zhuls    时间: 2024-12-7 09:23
你这个操作,牵涉到“层”的概念,还需要一个合适的buffer..
在显示图片后,立即缓存指定区域的数据,以这个区域为基准,即新建一个层,所有的字符显示都在这个层内。
当需要叠加显示时,把已缓存的内容,原地再刷一次,即清空新建的层,再显示字符就OK了。
作者: EEmicro_Huang    时间: 2024-12-7 11:01
zhuls 发表于 2024-12-7 09:23
你这个操作,牵涉到“层”的概念,还需要一个合适的buffer..
在显示图片后,立即缓存指定区域的数据,以这 ...

没错的,我是使用这种方法填充的, 如果字符有更新就先刷新图层,再显示字符。我更新了文章,已经发现关键问题了,等审核结束您在看看吧。
作者: zhuls    时间: 2024-12-9 15:50
你的缓存能不能放在RAM中?不要每次刷新都去读FLASH吧?如果RAM小的话就算了。。
因为你是在320*240的范围内贴图,且你的原图数据也是适配320*240的,所以bufer边缘应该都不会越界。
所以你的缓存地址算法或许可以优化一下。






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1