lvgl的官方转换链接:Image Converter — LVGL里lvglV9是不能转为C语言文件的
但是我们可以使用V8的进行转换,然后修改一下配置就可以用了

1.gif转换成.c文件
色彩格式选择CF_RAW原始数据,直接生成

修改.c文件
参照lvgl官方的案例的gif.c文件修改
先复制一份原本的结构体,将原本的结构体屏蔽掉
将.w,.h改为0,.cf修改成LV_COLOR_FORMAT_RAW
删除掉无用的.always_zero,.reserved
.data_size改成sizeof(AN1_Water_map)求数组大小

// const lv_img_dsc_t AN1_Water = {
// .header.cf = LV_IMG_CF_RAW_CHROMA_KEYED,
// .header.always_zero = 0,
// .header.reserved = 0,
// .header.w = 280,
// .header.h = 240,
// .data_size = 260402,
// .data = AN1_Water_map,
// };
const lv_img_dsc_t AN1_Water = {
.header.cf = LV_COLOR_FORMAT_RAW,
.header.w = 0,
.header.h = 0,
.data_size = sizeof(AN1_Water_map),
.data = AN1_Water_map,
};
使用.c文件
void lv_example_gif(void)
{
LV_IMAGE_DECLARE(AN1_Water);//替换自己的文件名
lv_obj_t* img;
img = lv_gif_create(lv_screen_active());
lv_gif_set_src(img, &AN1_Water);//替换自己的文件名
}
效果
测试gif视频
5261

被折叠的 条评论
为什么被折叠?



