lvgl8.1中已经把GIF库集成入lvgl库中了,使用起来相当方便,下面介绍使用方法。
①将lv_conf.h中的LV_USE_GIF置成1 (是否打开GIF)
②将lv_conf.h中的LV_MEM_CUSTOM置成1 (不开无法显示)
③调用方法很简单,4行代码就可以了
④编译,如果报错undefined reference to `img_bulb_gif' 不要慌,去c_cpp_properties添加详细的路径即可
LV_IMG_DECLARE(img_bulb_gif);
lv_obj_t* img = lv_gif_create(lv_scr_act());
lv_gif_set_src(img, &img_bulb_gif);
lv_obj_align(img, LV_ALIGN_CENTER, 0, 0);
测试成功例程以后开始添加自己的图片,使用LVGL图片转换器.
点击生成后会生成一个.c文件,这个.c文件是不需要我们修改的(可能会报错找不到 lvgl/lvgl.h ,自己改一下路径即可), 我们需要关注的是下面这一段,有个结构体变量与我们刚才输入的name一样,将这个.c文件放到项目里一个自己可以路径的地方.
const lv_img_dsc_t hutao = {
.header.always_zero = 0,
.header.w = 0,
.header.h = 0,
.data_size = 248091,
.header.cf = LV_IMG_CF_RAW,
.data = hutao_map,
};
调用代码来显示该gif.
//很简单,只需要修改一下对应的变量名即可
LV_IMG_DECLARE(hutao);
lv_obj_t* img = lv_gif_create(lv_scr_act());
lv_gif_set_src(img, &hutao);
lv_obj_align(img, LV_ALIGN_CENTER, 0, 0);