在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

【AWTK使用經驗】如何實現序列幀動畫

ZLG致遠電子 ? 2024-07-18 08:25 ? 次閱讀

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

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

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

video_image控件播放序列幀動畫優點

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

對比格式

播放序列幀方式的優點

MJPG

MJPG動畫文件占用空間大,JPG的解壓速度慢;video_image的幀間差異圖像算法能夠很大程度降低空間上的消耗,包括內存和文件系統空間,同時解壓速度也會更快。

GIF

GIF只支持8位色,并且不支持半透;而video_image動畫可支持32位色,并且支持半透顯示。

MP4

MP4壓縮率較高,解壓位圖需要消耗較大性能,需要依賴硬件解碼才能流暢播放;而video_image控件可以用在中低端平臺,解碼消耗性能會較低,動畫會更流暢。

video_image控件的使用方法

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

4374991e-449c-11ef-817b-92fbcf53809c.png

圖2AWStudio插件列表的video_image控件將GIF轉換成位圖序列幀

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

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

43897c6c-449c-11ef-817b-92fbcf53809c.png

圖3使用工具將GIF轉成位圖序列幀

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

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

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

438da3e6-449c-11ef-817b-92fbcf53809c.png

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

在AWTK程序播放序列幀

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

439144f6-449c-11ef-817b-92fbcf53809c.png

圖5添加與設置視頻文件到應用中

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 視頻
    +關注

    關注

    6

    文章

    1966

    瀏覽量

    73514
  • C語言
    +關注

    關注

    180

    文章

    7624

    瀏覽量

    139433
  • awtk
    +關注

    關注

    0

    文章

    48

    瀏覽量

    323
收藏 人收藏

    評論

    相關推薦

    AWTK使用經驗】如何響應物理按鍵

    AWTK是基于C語言開發的跨平臺GUI框架。《AWTK使用經驗》系列文章將介紹開發AWTK過程中一些常見問題與解決方案,例如:如何加載外部資源?如何設計自定義進度條?這些都會在系列文章
    的頭像 發表于 06-06 08:25 ?994次閱讀
    【<b class='flag-5'>AWTK</b>使用<b class='flag-5'>經驗</b>】如何響應物理按鍵

    AWTK使用經驗】如何添加中文輸入法

    AWTK是基于C語言開發的跨平臺GUI框架。《AWTK使用經驗》系列文章將介紹開發AWTK過程中一些常見問題與解決方案,例如:如何加載外部資源?如何設計自定義進度條?這些都會在系列文章
    的頭像 發表于 06-20 08:25 ?1271次閱讀
    【<b class='flag-5'>AWTK</b>使用<b class='flag-5'>經驗</b>】如何添加中文輸入法

    AWTK使用經驗】如何更換AWTK SDK與渲染模式

    AWTK是基于C語言開發的跨平臺GUI框架。《AWTK使用經驗》系列文章將介紹開發AWTK過程中一些常見問題與解決方案,例如:如何播放攝像頭畫面?如何更換
    的頭像 發表于 08-01 08:25 ?1317次閱讀
    【<b class='flag-5'>AWTK</b>使用<b class='flag-5'>經驗</b>】如何更換<b class='flag-5'>AWTK</b> SDK與渲染模式

    AWTK-MVVM是什么?其功能有哪些

    AWTK-MVVM是一套為AWTK用C語言開發,并支持各種腳本語言的MVVM框架,實現了數據綁定、命令綁定和窗口導航等基本功能,使用AWTK-MVVM開發應用程序,無需學習
    發表于 12-15 06:07

    在QML動畫設計中通過指定關鍵創建時間線動畫

    在QML動畫設計中,可以通過指定關鍵創建時間線動畫;還可以將時間線綁定到組件(如滑塊)的屬性值,以這種方式控制動畫
    的頭像 發表于 10-10 11:27 ?2319次閱讀

    如何在OpenHarmony上實現動畫

    動畫是常見的一種動畫呈現形式,本例就為大家介紹如何通過 translate(),setInterval(),clearAllInterval() 等方法實現
    的頭像 發表于 06-18 15:14 ?1054次閱讀
    如何在OpenHarmony上<b class='flag-5'>實現</b>逐<b class='flag-5'>幀</b><b class='flag-5'>動畫</b>?

    AWTK 開源智能串口屏方案

    修改數據,自動更新界面。主要特色1.開發強大的界面設計器AWStudio;基于AWTK實現強大的GUI功能(多窗口、輸入法、動畫和各種控件);基于AWTK-MVVM
    的頭像 發表于 12-02 08:24 ?1168次閱讀
    <b class='flag-5'>AWTK</b> 開源智能串口屏方案

    AWTK使用經驗】如何設計立體電池進度條?

    AWTK是基于C語言開發的跨平臺GUI框架。《AWTK使用經驗》系列文章將介紹開發AWTK過程中一些常見問題與解決方案,例如:如何加載外部資源?如何設計自定義進度條?這些都會在系列文章
    的頭像 發表于 04-18 08:25 ?600次閱讀
    【<b class='flag-5'>AWTK</b>使用<b class='flag-5'>經驗</b>】如何設計立體電池進度條?

    AWTK使用經驗】加載和釋放外部圖片

    AWTK是基于C語言開發的跨平臺GUI框架。《AWTK使用經驗》系列文章將介紹開發AWTK過程中一些常見問題與解決方案,例如:如何加載外部資源?如何設計自定義進度條?這些都會在系列文章
    的頭像 發表于 04-26 08:25 ?650次閱讀
    【<b class='flag-5'>AWTK</b>使用<b class='flag-5'>經驗</b>】加載和釋放外部圖片

    通過視頻提取及批量取模轉換實現基于STC32的點陣LED動畫播放

    通過視頻提取及批量取模轉換實現基于STC32的點陣LED動畫播放
    的頭像 發表于 06-27 02:16 ?552次閱讀
    通過視頻<b class='flag-5'>幀</b>提取及批量取模轉換<b class='flag-5'>實現</b>基于STC32的點陣LED<b class='flag-5'>動畫</b>播放

    AWTK使用經驗】如何播放視頻或攝像頭畫面

    AWTK是基于C語言開發的跨平臺GUI框架。《AWTK使用經驗》系列文章將介紹開發AWTK過程中一些常見問題與解決方案,例如:如何加載外部資源?如何設計自定義進度條?這些都會在系列文章
    的頭像 發表于 07-04 08:25 ?980次閱讀
    【<b class='flag-5'>AWTK</b>使用<b class='flag-5'>經驗</b>】如何播放視頻或攝像頭畫面

    圖片動畫控件和Video image控件的使用方法

    在UI開發過程中,序列幀基本是繞不開的,AWTK 支持多種方法實現序列幀顯示,本文介紹圖片動畫控件和Video image控件的使用方法。
    的頭像 發表于 08-06 16:44 ?1330次閱讀
    圖片<b class='flag-5'>動畫</b>控件和Video image控件的使用方法

    AWTK使用經驗】如何在AWTK顯示阿拉伯文本

    AWTK是基于C語言開發的跨平臺GUI框架。AWTK使用經驗系列文章將介紹開發AWTK過程中一些常見問題與解決方案,例如:如何播放視頻或攝像頭畫面?如何播放
    的頭像 發表于 09-12 08:07 ?528次閱讀
    【<b class='flag-5'>AWTK</b>使用<b class='flag-5'>經驗</b>】如何在<b class='flag-5'>AWTK</b>顯示阿拉伯文本

    AWTK使用經驗】如何裁剪字庫以及如何使用點陣字

    AWTK是基于C語言開發的跨平臺GUI框架。AWTK使用經驗系列文章將介紹開發AWTK過程中一些常見問題與解決方案。AWTK如何裁剪字庫在
    的頭像 發表于 10-10 08:05 ?421次閱讀
    【<b class='flag-5'>AWTK</b>使用<b class='flag-5'>經驗</b>】如何裁剪字庫以及如何使用點陣字

    AWTK使用經驗】如何使用系統輸入法與開啟最大化窗口功能

    導讀AWTK是基于C語言開發的跨平臺GUI框架。AWTK使用經驗系列文章將介紹開發AWTK過程中一些常見問題與解決方案。AWTK具有跨平臺的
    的頭像 發表于 11-14 01:05 ?448次閱讀
    【<b class='flag-5'>AWTK</b>使用<b class='flag-5'>經驗</b>】如何使用系統輸入法與開啟最大化窗口功能
    主站蜘蛛池模板: 美女免费视频一区二区三区 | 亚洲一区二区三区免费观看 | brazzers720欧美丰满 | 黄a在线 | 免费国产综合视频在线看 | 日处女穴| 日本三级日产三级国产三级 | 狠狠色噜噜狠狠狠97影音先锋 | 夜夜做夜夜爽 | aaaaaaa欧美黄色大片 | 韩国三级日本三级在线观看 | 乱色伦肉小说 | 色吧综合网 | 手机看片福利日韩国产 | 欧美性色黄大片四虎影视 | 人人看操 | 99久热只有精品视频免费观看17 | 性欧美视频 | 97久久精品国产精品青草 | 欧美女同网站 | 尻逼尻逼 | 麒麟色欧美影院在线播放 | 亚洲精品久久久久久婷婷 | 免费看黄色的网站 | 久久久久国产免费 | 国产三级黄色毛片 | 国模视频在线 | 亚洲一区二区精品视频 | 96福利视频 | 日韩美aaa特级毛片 日韩美a一级毛片 | 在线观看免费av网站 | 欧美另类69 | 在线观看www日本免费网站 | 国产资源视频 | 日本aaaaa毛片在线视频 | 天天躁夜夜躁狠狠躁2021西西 | 欧美一卡二卡3卡4卡无卡六卡七卡科普 | 黄色大片网 | 亚洲毛片基地4455ww | 久久两性视频 | 韩彩英三级无删版甜性涩爱 |