GIF decoder(GIF解码器)


Allow to use of GIF images in LVGL. Based on

When enabled in lv_conf.h with LV_USE_GIF lv_gif_create(parent) can be used to create a gif widget.

lv_gif_set_src(obj, src) works very similarly to lv_img_set_src. As source It also accepts images as variables (lv_img_dsc_t) or files.

允许在 LVGL 中使用 GIF 图像。基于

当在 lv_conf.hLV_USE_GIF 中启用时,lv_gif_create(parent) 可用于创建 gif 小部件。

lv_gif_set_src(obj, src) 的工作方式与 lv_img_set_src 非常相似。作为源 它还接受图像作为变量(lv_img_dsc_t)或文件。

Convert GIF files to C array(将 GIF 文件转换为 C 数组)


To convert a GIF file to byte values array use LVGL's online converter. Select "Raw" color format and "C array" Output format.

要将 GIF 文件转换为字节值数组,请使用 LVGL 的在线转换器。选择“原始”颜色格式和“C 数组”输出格式。

Use GIF images from file(使用文件中的 GIF 图片)

For example:

lv_gif_set_src(obj, "S:path/to/example.gif");

Note that, a file system driver needs to regsitered to open images from files. Read more about it here or just enable one in lv_conf.h with LV_USE_FS_...

请注意,文件系统驱动程序需要注册才能从文件中打开图像。阅读更多相关信息 此处 或仅在 lv_conf.h 中使用 LV_USE_FS_... 启用一个

Memory requirements(内存要求)


To decode and display a GIF animation the following amount of RAM is required:

  • LV_COLOR_DEPTH 8: 3 x image width x image height

  • LV_COLOR_DEPTH 16: 4 x image width x image height

  • LV_COLOR_DEPTH 32: 5 x image width x image height

要解码和显示 GIF 动画,需要以下 RAM 量:

  • LV_COLOR_DEPTH 8:3 x 图像宽度 x 图像高度

  • LV_COLOR_DEPTH 16:4 x 图像宽度 x 图像高度

  • LV_COLOR_DEPTH 32:5 x 图像宽度 x 图像高度




lv_obj_t *lv_gif_create(lv_obj_t *parent)
void lv_gif_set_src(lv_obj_t *obj, const void *src)
void lv_gif_restart(lv_obj_t *gif)


const lv_obj_class_t lv_gif_class
struct lv_gif_t

Public Members

lv_img_t img
gd_GIF *gif
lv_timer_t *timer
lv_img_dsc_t imgdsc
uint32_t last_call