LVGL官方转换网站

Image Converter — LVGL

使用流程

下载一张图片。

进入到网站

LVGL8和LVGL9的转换区别是:LVGL9只能生成高指令的图片。

images

LVGL8使用

// 1. 声明图片变量
LV_IMG_DECLARE(my_image_name); 

// 2. 创建图像对象
lv_obj_t * img_obj = lv_img_create(lv_scr_act()); 

// 3. 设置图像源
lv_img_set_src(img_obj, &my_image_name); 

//用的时候必须自己上色:
lv_obj_set_style_img_recolor(img_obj, lv_color_white(), 0);

LVGL v8 与 v9 图像处理核心区别

除了使用方式,v8 和 v9 在图像处理的底层机制上也有显著差异。

特性LVGL v8LVGL v9
声明宏LV_IMG_DECLARELV_IMAGE_DECLARE
图像对象lv_img_...lv_image_...
图像描述符lv_img_dsc_t 结构体,包含 .header 等字段结构体简化,去除了冗余的 .header 封装,直接包含 cf, w, h, data_size 等字段
颜色格式枚举LV_IMG_CF_... (如 LV_IMG_CF_TRUE_COLOR_ALPHA)LV_COLOR_FORMAT_... (如 LV_COLOR_FORMAT_RGB565A8)
颜色深度lv_color_t 类型取决于 LV_COLOR_DEPTH 配置lv_color_t 始终为 RGB888,与显示颜色深度解耦
缓冲区大小单位像素单位 (buf_size_px)字节单位 (buf_size_byte)
转换工具兼容性官方在线转换器输出 v8 格式官方在线转换器的 v8 输出与 v9 不兼容,需使用 v9 工具或 Python 脚本