在lvgl中显示一张图片,并不是一件容易的事情,我们首先需要将图片转成C代码,然后再对图片进行声明,最后就是显示它.

显示静态图像

例如, 我想将我的二维码显示在页面中, 我们该怎么做呢?

  1. 找一张图片

120x120.png

  1. 打开https://lvgl.io/tools/imageconverter 将图像转成C代码

image.png

  1. 将导出的文件拷贝到工程中
  2. 在要使用的文件中,声明这张图片LV_IMG_DECLARE(图片的名称)

下面是显示图片的示例代码

  1. // 显示图片
  2. lv_obj_t* obj_img = lv_img_create(root);
  3. lv_img_set_src(obj_img, &bilibili);
  4. lv_obj_align(obj_img,LV_ALIGN_BOTTOM_LEFT,10,-10);

image.png

显示动态图像gif

image.png

gif的图像代码生成步骤与上面的步骤相同, 需要注意的是若想正常显示gif, 需要在lv_conf.h文件中开启GIF功能
#define LV_USE_GIF 1

  1. // 加载外星人动画
  2. lv_obj_t* obj_gif = lv_gif_create(root);
  3. lv_gif_set_src(obj_gif, &astro_gif);
  4. lv_obj_align(obj_gif, LV_ALIGN_BOTTOM_RIGHT, -10, -10);

image.png
程序运行起来之后,就可以看到外星小人在不停的转