我做了一個(gè)Linux下的輕量級(jí)lvgl圖片轉(zhuǎn)換工具lv_img_conv
????由于目前開發(fā)工作全部在Linux下,用lvgl的時(shí)候避免不了需要轉(zhuǎn)換一些圖片,先前在windows下都是使用大佬做的Lvglimgtool,但我找了好久都沒找到linux下的第三方離線版本,而且lvgl官網(wǎng)的在線圖片轉(zhuǎn)換網(wǎng)頁打開太慢,離線版又需要安裝一堆東西, 因此就自己用圖片解碼庫和C++寫了一個(gè)輕量版lvgl圖片轉(zhuǎn)換工具。歡迎使用和指出bug。
項(xiàng)目鏈接:https://gitee.com/Jumping99/lv_img_conv
????工具的制作原理就是使用圖片解碼庫將圖片解碼成圖像數(shù)據(jù),然后根據(jù)不同的參數(shù)寫入對(duì)應(yīng)的文件,c文件或bin文件。對(duì)于bmp圖片,目前只支持rgb888格式的圖片作為輸入,用rgb565可能會(huì)出錯(cuò),不過基本上使用的bmp圖片都是rgb888格式的,也就沒考慮加入對(duì)rgb565的bmp圖片的支持了。
????工具目前可以完成lvgl中3種常用的TRUE_COLOR圖像的轉(zhuǎn)換,也就是TRUE_COLOR、TRUE_COLOR_ALPHA和TRUE_COLOR_CHROMA_KEYED。目前只支持命令行的方式,未來可能考慮加入U(xiǎn)I。
????輸入?yún)?shù)-h可以查看目前支持的參數(shù),以下是目前支持的參數(shù):

????在這些參數(shù)中,-i參數(shù)是必須的,因?yàn)樾枰付ㄞD(zhuǎn)換的圖片,其余均有默認(rèn)值,可以不指定,有需要的話可以修改,如要轉(zhuǎn)換為bin文件,加入-b參數(shù); 對(duì)于png圖片需要透明通道則加入--alpha參數(shù),這樣生成后的數(shù)據(jù)就為TRUE_COLOR_ALPHA了。
????總結(jié)來說,目前的功能足夠大多數(shù)情況下的使用了,有一點(diǎn)不足的地方在于,不能通過參數(shù)進(jìn)行批量轉(zhuǎn)換,目前如果要實(shí)現(xiàn)批量轉(zhuǎn)換只能自己編寫shell腳本多次調(diào)用這個(gè)工具進(jìn)行轉(zhuǎn)換,未來有空再實(shí)現(xiàn)吧。
????lvgl兩大工具已經(jīng)實(shí)現(xiàn)了一個(gè)了,下一個(gè)準(zhǔn)備實(shí)現(xiàn)字體的轉(zhuǎn)換lv_font_conv。