AWTK是基于C语言开发的跨平台GUI框架。《AWTK使用经验》系列文章将介绍开发AWTK过程中一些常见问题与解决方案,例如:如何加载外部资源?如何设计自定义进度条?这些都会在系列文章进行解答。
假设目前想在AWTK中显示炫酷流畅的图片动画,此时可以用video_image控件来播放序列帧动画。本篇文章将介绍该控件的原理和使用方法。
对比格式 | 播放序列帧方式的优点 |
MJPG | MJPG动画文件占用空间大,JPG的解压速度慢;video_image的帧间差异图像算法能够很大程度降低空间上的消耗,包括内存和文件系统空间,同时解压速度也会更快。 |
GIF | GIF只支持8位色,并且不支持半透;而video_image动画可支持32位色,并且支持半透显示。 |
MP4 | MP4压缩率较高 ,解压位图需要消耗较大性能,需要依赖硬件解码才能流畅播放;而video_image控件可以用在中低端平台,解码消耗性能会较低,动画会更流畅。 |
假设目前的GIF名称为zlg.gif,可以在bin文件夹输入下面命令将GIF转成位图序列帧,工具的详细参数可以看控件目录下的README.md文档:
./gif_to_frame_gen.exe ./zlg.gif ./my_image/
./diff_image_to_video_gen.exe ./my_image/ frame%d ./my_image/video_gif RGB565 30
图4 diff_image_to_video_gen工具生成自定义视频文件
将上面生成的自定义视频文件通过AWStudio导入到资源浏览器的“其他数据”分类项,接着再设置video_image控件的video_name属性为视频文件名称,最后打包编译运行程序即可。
图5 添加与设置视频文件到应用中
ZLG官方旗舰店
广州致远电子
官方企业店
ZLG旗舰店
ZLG京东自营
旗舰店
更多往期文章,请点击“ 阅读原文 ”。