如何使用圖像作為字節(jié)數(shù)組與TFT_eSPI
在幾秒鐘內(nèi)將任何PNG/JPG轉(zhuǎn)換為任何格式的RGB字節(jié)數(shù)組-使用免費的圖像到字節(jié)數(shù)組轉(zhuǎn)換器來提升您的TFT_eSPI圖形!
在基于ILI9341的TFT顯示器上添加自定義圖形——徽標、圖標、精靈——比您想象的要簡單。通過將圖像轉(zhuǎn)換為16位RGB字節(jié)數(shù)組并將其存儲在閃存中,您可以使用TFT_eSPI庫立即繪制圖像,而不需要SD卡或外部文件系統(tǒng)。這個工作流程的關(guān)鍵是Arduino TFT顯示器的RGB圖像到字節(jié)數(shù)組轉(zhuǎn)換器,這是一個免費的在線工具,可自動完成整個轉(zhuǎn)換過程。
為什么RGB圖像到字節(jié)數(shù)組轉(zhuǎn)換器很重要
這個轉(zhuǎn)換器改變了游戲規(guī)則,因為它:
?消除手動步驟。只需上傳PNG或JPG,并準備粘貼uint16_t數(shù)組。
?自動處理5-6-5格式。不需要糾結(jié)于位掩碼或端序。
?尊重方向和尺寸。您可以在上傳時選擇寬度、高度和旋轉(zhuǎn)。
準備你的硬件和庫
在轉(zhuǎn)換圖像之前,請確保:
?布線和DisplayILI9341 TFT通過SPI連接到ESP32(或類似)。MOSI, MISO, SCLK, CS, DC, RST和可選的BLK引腳在User_Setup.h中連接和定義。
?安裝TFT_eSPIClone或通過庫管理器安裝。編輯User_Setup.h以匹配您的輸出并啟用ILI9341。
準備好硬件和庫之后,您就可以專注于圖形了。
轉(zhuǎn)換你的圖像在三次點擊
在瀏覽器中打開RGB圖像轉(zhuǎn)換器。
?上傳和配置點擊選擇文件并選擇您的圖像。輸入所需的寬度和高度像素。(可選)勾選旋轉(zhuǎn)90°/180°,如果需要。
生成CodeHit轉(zhuǎn)換。幾秒鐘后,你就會看到一段c++代碼:
復(fù)制這個,你就完成了——不需要手動編輯!
在草圖中嵌入字節(jié)數(shù)組
將生成的數(shù)組粘貼到草圖的頂部:
程序?qū)?shù)組保存在閃存中,保留寶貴的RAM。
LOGO_WIDTH和LOGO_HEIGHT宏允許您稍后輕松引用尺寸。
初始化TFT并顯示圖像
在setup()你的Arduino草圖:
pushImage(x, y, w, h, data)從flash中讀取5-6-5像素數(shù)據(jù)并渲染。
高級提示和技巧
?內(nèi)存管理大的圖像會消耗大量的閃存——請檢查ESP32的可用閃存。對于多個映像,可以考慮使用RLE進行壓縮,然后動態(tài)地進行解壓縮。
?Animation將每個幀轉(zhuǎn)換為一個單獨的數(shù)組,然后使用pushImage()循環(huán)遍歷它們。平衡幀大小和幀數(shù)以適應(yīng)閃光限制。
?如果顏色出現(xiàn)反轉(zhuǎn),使用tft.setSwapBytes(true)。結(jié)合tft.pushPixels()進行部分更新或覆蓋。
本文編譯自hackster.io