1. 使用环境
arduino IDEESP32 主控屏幕使用 ST7789 驱动,240*240像素TFT屏幕LVGL的环境搭建查看文章:
/shileiwu0505/article/details/121194963
2. 使用到的文件
gifdec.cgifdec.hlv_gif.clv_gif.h将以上文件放入用户的的工程文件夹下:主要使用以上四个文件,以上四个文件在在 /lvgl 可以找到,但是注意,要是要在LVGL8.0以上版本中才能找到,如果下载的是 lv_lib_gif 库文件,编译时会报错,找不到指定的函数,也可以使用博主弄好的
将各个文件的包含路径改一下
gifdec.c
gifdec.h
lv_gif.c
lv_gif.h
3. 修改文件
将库文件中的lvgl文件下 lvgl.h 文件打开,并增加包含目录:
增加 : #include “src/misc/lv_fs.h”
在lv_conf.f 文件中使能 LV_TICK_CUSTOM
注意:LV_TICK_CUSTOM 一定要使能,否则,动态图不动
4. 将GIF动图生成数组
打开链接:https://lvgl.io/tools/imageconverter根据以下选择生成数组形式:
生成的.c文件放入到项目文件下
测试GIF动图
/*** Open a GIF image from a file and a variable*/void lv_example_gif_1(void){LV_IMG_DECLARE(img_bulb_gif);lv_obj_t * img;img = lv_gif_create(lv_scr_act());lv_gif_set_src(img, &img_bulb_gif);lv_obj_align(img, LV_ALIGN_CENTER, 0, 0);}
将以上代码编译,不出意外屏幕就开始显示动态图像了。
测试案例已上传。
/download/shileiwu0505/38131823