加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

【AWTK使用經(jīng)驗】如何實現(xiàn)序列幀動畫

07/17 14:44
1302
閱讀需 5 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

AWTK是基于C語言開發(fā)的跨平臺GUI框架?!禔WTK使用經(jīng)驗》系列文章將介紹開發(fā)AWTK過程中一些常見問題與解決方案,例如:如何加載外部資源?如何設(shè)計自定義進度條?這些都會在系列文章進行解答。

假設(shè)目前想在AWTK中顯示炫酷流暢的圖片動畫,此時可以用video_image控件來播放序列幀動畫。本篇文章將介紹該控件的原理和使用方法。

圖1?ZTP800示教器運行video_image控件demo效果

video_image控件播放序列幀動畫優(yōu)點

video_image控件采用了幀間差異的圖像算法,在壓縮位圖時會計算并保存每一幀之間的臟矩形區(qū)域和數(shù)據(jù),接著將這些差異數(shù)據(jù)壓縮成自定義的視頻文件,最后再采用lz4算法對視頻文件進一步壓縮。在video_image控件播放視頻文件時會先用lz4算法解壓視頻文件,再將幀間差異解析組合成位圖播放。下面是video_image控件播放序列幀相比較MP4、MJPG與GIF等常見格式的優(yōu)點:

對比格式 播放序列幀方式的優(yōu)點
MJPG MJPG動畫文件占用空間大,JPG的解壓速度慢;video_image的幀間差異圖像算法能夠很大程度降低空間上的消耗,包括內(nèi)存和文件系統(tǒng)空間,同時解壓速度也會更快。
GIF GIF只支持8位色,并且不支持半透;而video_image動畫可支持32位色,并且支持半透顯示。
MP4 MP4壓縮率較高?,解壓位圖需要消耗較大性能,需要依賴硬件解碼才能流暢播放;而video_image控件可以用在中低端平臺,解碼消耗性能會較低,動畫會更流暢。

video_image控件的使用方法

首先,在AWStudio插件列表安裝awtk-widget-video-image控件,并編譯video_image控件工程,會在awtk-widget-video-image/bin目錄下生成相關(guān)工具:gif_to_frame_gen工具可以將GIF轉(zhuǎn)換成一張張位圖序列幀;diff_image_to_video_gen工具可以將這些位圖序列幀壓縮成video_image控件支持播放的自定義視頻文件。

圖2?AWStudio插件列表的video_image控件將GIF轉(zhuǎn)換成位圖序列幀

假設(shè)目前的GIF名稱為zlg.gif,可以在bin文件夾輸入下面命令將GIF轉(zhuǎn)成位圖序列幀,工具的詳細參數(shù)可以看控件目錄下的README.md文檔:

./gif_to_frame_gen.exe ./zlg.gif ./my_image/

圖3?使用工具將GIF轉(zhuǎn)成位圖序列幀

將位圖序列幀合成自定義視頻文件

同樣是在bin目錄下可以使用diff_image_to_video_gen工具將位圖序列幀合成自定義視頻文件。工具的設(shè)置的參數(shù)比較多,詳細參數(shù)說明可以看控件目錄下的README.md文檔,示例命令如下:

./diff_image_to_video_gen.exe ./my_image/ frame%d ./my_image/video_gif RGB565 30

圖4?diff_image_to_video_gen工具生成自定義視頻文件

在AWTK程序播放序列幀

將上面生成的自定義視頻文件通過AWStudio導(dǎo)入到資源瀏覽器的“其他數(shù)據(jù)”分類項,接著再設(shè)置video_image控件的video_name屬性為視頻文件名稱,最后打包編譯運行程序即可。

圖5?添加與設(shè)置視頻文件到應(yīng)用中

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風險等級 參考價格 更多信息
CY62157EV30LL-45BVXI 1 Cypress Semiconductor Standard SRAM, 512KX16, 45ns, CMOS, PBGA48, VFBGA-48
$13.43 查看
570FBC000118DG 1 Silicon Laboratories Inc Oscillator, 10MHz Min, 280MHz Max, 280MHz Nom

ECAD模型

下載ECAD模型
暫無數(shù)據(jù) 查看
LTC6908IS6-1 1 Analog Devices Inc CMOS Output Clock Oscillator, 0.05MHz Min, 10MHz Max
暫無數(shù)據(jù) 查看
致遠電子

致遠電子

廣州致遠電子股份有限公司成立于2001年,注冊資金5000萬元,國家級高新技術(shù)認證企業(yè),廣州市高端工控測量儀器工程技術(shù)研究開發(fā)中心,Intel ECA全球合作伙伴和微軟嵌入式系統(tǒng)金牌合作伙伴。

廣州致遠電子股份有限公司成立于2001年,注冊資金5000萬元,國家級高新技術(shù)認證企業(yè),廣州市高端工控測量儀器工程技術(shù)研究開發(fā)中心,Intel ECA全球合作伙伴和微軟嵌入式系統(tǒng)金牌合作伙伴。收起

查看更多

相關(guān)推薦

電子產(chǎn)業(yè)圖譜