找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 984|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

TFT屏字體使用疊加模式,動態(tài)疊加在圖片寫代碼遇到的問題[已解決]

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
1.本人目前的兩種想法 else 注釋掉的是打點(diǎn)函數(shù)。
2.兩種顯示遇到的問題均是填充的顏色不準(zhǔn)確,將圖片保存在W25Q64里,每個像素的地址計(jì)算不準(zhǔn)確 圖中有很多種PIC_Buf_Add的計(jì)算方法,效果都不太好。
這個用的是色塊填充,有輕微色差
這個用的是疊加算法,混合打點(diǎn),顏色偏的厲害

問題在于使用色塊填充整個屏幕,X,Y都取0開始,顏色和直接刷新整張圖片都有差別,難道一個像素不是2Byte嗎,屏幕是(ST7789 RBG565色彩)?


                       12-7日更新

更新代碼
最新進(jìn)展,代碼理解是沒有問題的,顯示問題是當(dāng)Y>100時顯示錯誤,Y<=100時沒有問題。
測試效果
將圖片放大后應(yīng)該是看清色塊很明顯有差別。



寫完了
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:69038 發(fā)表于 2024-12-7 09:23 | 只看該作者
你這個操作,牽涉到“層”的概念,還需要一個合適的buffer..
在顯示圖片后,立即緩存指定區(qū)域的數(shù)據(jù),以這個區(qū)域?yàn)榛鶞?zhǔn),即新建一個層,所有的字符顯示都在這個層內(nèi)。
當(dāng)需要疊加顯示時,把已緩存的內(nèi)容,原地再刷一次,即清空新建的層,再顯示字符就OK了。
回復(fù)

使用道具 舉報(bào)

板凳
ID:1138806 發(fā)表于 2024-12-7 11:01 | 只看該作者
zhuls 發(fā)表于 2024-12-7 09:23
你這個操作,牽涉到“層”的概念,還需要一個合適的buffer..
在顯示圖片后,立即緩存指定區(qū)域的數(shù)據(jù),以這 ...

沒錯的,我是使用這種方法填充的, 如果字符有更新就先刷新圖層,再顯示字符。我更新了文章,已經(jīng)發(fā)現(xiàn)關(guān)鍵問題了,等審核結(jié)束您在看看吧。
回復(fù)

使用道具 舉報(bào)

地板
ID:69038 發(fā)表于 2024-12-9 15:50 | 只看該作者
你的緩存能不能放在RAM中?不要每次刷新都去讀FLASH吧?如果RAM小的話就算了。。
因?yàn)槟闶窃?20*240的范圍內(nèi)貼圖,且你的原圖數(shù)據(jù)也是適配320*240的,所以bufer邊緣應(yīng)該都不會越界。
所以你的緩存地址算法或許可以優(yōu)化一下。

回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表