前往
大廳
主題

電子紙上顯示圖片

老爸爸 | 2023-08-26 15:28:01 | 巴幣 1000 | 人氣 129

說明


電子紙版本 waveshare 7.3inch e-Paper HAT (F) Manual
開發板 NodeMCU-32S

這塊電子紙可以為 800 * 480 的螢幕,並且可以顯示七種顏色,包含: 黑、白、綠、藍、紅、黃、橙,並且電子紙是靠反射環境光來顯示圖案的,不需要背光,在環境光下,電子紙上的內容仍然清晰可見。

不過要在上面顯示圖案的話,需要將圖片轉換成只有七種顏色的圖片,不然無法顯示於電子紙上,原先是透過 HSV 值來將圖片上的顏色進行分類,但顯示的效果極差,所以使用 Floyd–Steinberg 抖動算法,來進行轉換,獲得更多的顏色組合。

微雪官方也有提供圖片轉換的工具,不過專案的目標是使用者可以透過操作介面上傳圖片,並直接顯示於電子紙上,所以使用他們提供的工具不太實際,因此,我建立了一個 API 可供使用者進行圖片的轉換,功能包括圖片的正規化,以及色彩上的轉換。

正規化圖片


將圖片調整至 800 * 480,使其可以符合電子紙尺寸,如果原始圖片尺寸不符合 5 : 3 的比例,則將圖片置中並且缺失的區塊填入白色。


圖片轉換


透過 Floyd–Steinberg 抖動算法,將原始圖片進行轉換,獲得更多的顏色組合,並且可以將轉換後的數據直接傳入開發板上,供電子紙顯示。


操作範例


控制介面

可跨平台使用,並且使用者可以選擇裝置並設置任務排程。


顯示介面

送禮物贊助創作者 !
0
留言

創作回應

Aldwyn【百鬼組】
大佬
2023-08-26 16:00:34

更多創作