lvgl显示图片 - minichao9901/TangNano-20k-Zynq-7020 GitHub Wiki

第1步:转换图片

重点:!!默认进入的是v9的转换界面。我们要点击下面的v8的界面,进入v8的转换界面。 我没有注意到这个细节,在这个地方折腾了2个小时。

image image image

注意选择颜色的格式,要符合原子的rgb屏(lvgl用的是ARGB 32bits格式)

转换完后,点击文件打开看一下。

它会自动用vscode打开,确认ok。 image image

拷贝文件,测试

将文件拷贝到工程下去,并在main.c中写如下程序进行测试 image

LV_IMG_DECLARE(pic_1920x1080);

 void run_demo()
 {
     lv_obj_t *img = lv_img_create(lv_scr_act());
     lv_img_set_src(img, &pic_1920x1080);
}

结果

  • 效果非常好。即使1920x1080的大图片,也可以在800x480的屏幕上显示。而且上下左右拖动图片的时候,可以显示更多的区域。效果相当于是在1920x1080的画布上,开了一个800x480的窗口,这个窗口是可以触摸滑动的。

补充

注意rgb565的屏,在转换的时候,需要选择如下格式 image

这个文本里面实际上包含了rgb8, rgb565, rgb565_swap, rgb888等所有的情况。通过宏来选择不同的数据。 image image image image