在使用lvgl显示图片有两种方式,一种是使用fs文件系统显示,这种显示方式灵活,而且对cpu的占用资源也少。第二种是使用c数组的形式访问,这种占用资源比较大因此,图片不可以太大。尽量小,要不然堆栈会溢出。
首先去阿里云矢量图标找几张小图片,设置尺寸大小。
1.1在lvgl官网中导入图片转换成.c文件
https://lvgl.io/tools/imageconverter //官网网址
1.2按照下图填写
注意:这里 的颜色格式,要选择和我一样的其他会导致有黑边。(坑)1
1.3j将文件导入工程中
1.4添加外部声明代码
LV_IMG_DECLARE(auto1);
/*这里的参数,要和你图片生成c文件的最后结构体名字要一样 注意*/
1.5测试显示
LV_IMG_DECLARE(auto1);
LV_IMG_DECLARE(start);
LV_IMG_DECLARE(save);
LV_IMG_DECLARE(label);
LV_IMG_DECLARE(set);
void lvgl_gui_test(void)
{
lv_obj_t * cont_row = lv_obj_create(lv_scr_act());
lv_obj_set_size(cont_row, 300, 300);
lv_obj_align(cont_row, LV_ALIGN_TOP_MID, 0, 5);
lv_obj_set_flex_flow(cont_row, LV_FLEX_FLOW_ROW);
lv_obj_t * img5 = lv_img_create(cont_row);
lv_img_set_src(img5, &set);
lv_obj_center(img5);
lv_obj_t * img4 = lv_img_create(cont_row);
lv_img_set_src(img4, &start);
lv_obj_center(img4);
}
1.6实际图片