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);
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐