找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 944|回复: 3
打印 上一主题 下一主题
收起左侧

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

[复制链接]
跳转到指定楼层
楼主
1.本人目前的两种想法 else 注释掉的是打点函数。
2.两种显示遇到的问题均是填充的颜色不准确,将图片保存在W25Q64里,每个像素的地址计算不准确 图中有很多种PIC_Buf_Add的计算方法,效果都不太好。
这个用的是色块填充,有轻微色差
这个用的是叠加算法,混合打点,颜色偏的厉害

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


                       12-7日更新

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



写完了
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

使用道具 举报

板凳
ID:1138806 发表于 2024-12-7 11:01 | 只看该作者
zhuls 发表于 2024-12-7 09:23
你这个操作,牵涉到“层”的概念,还需要一个合适的buffer..
在显示图片后,立即缓存指定区域的数据,以这 ...

没错的,我是使用这种方法填充的, 如果字符有更新就先刷新图层,再显示字符。我更新了文章,已经发现关键问题了,等审核结束您在看看吧。
回复

使用道具 举报

地板
ID:69038 发表于 2024-12-9 15:50 | 只看该作者
你的缓存能不能放在RAM中?不要每次刷新都去读FLASH吧?如果RAM小的话就算了。。
因为你是在320*240的范围内贴图,且你的原图数据也是适配320*240的,所以bufer边缘应该都不会越界。
所以你的缓存地址算法或许可以优化一下。

回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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