LVGL8-图片转换
单片机多功能调试助手图片取模LVGL8 C代码。
·

使用【单片机多功能调试助手】进行【图片取模】并生成【LVGL8 C代码】的完整流程及注意事项。
一、准备工作
-
图片格式要求
- 可使用 BMP/PNG/JPG 格式,推荐PNG格式。
- 分辨率不超过屏幕尺寸(如240x240)。
- 颜色深度需与LVGL配置一致(通过
lv_conf.h中的LV_COLOR_DEPTH设置,如RGB565需16位)。
-
工具选择
单片机多功能调试助手中的图片取模功能,支持丰富的输出类型,既支持LVGL8的C代码输出,亦支持LVGL9的C代码输出,还提供丰富参数的调节,如:扫描模式、自定义输出图片的宽度与高度、输出颜色深度、输出字节序等。
二、图片转换步骤
1.导入图片
- 打开助手,【输出类型】选中“LVGL8 C代码(*.c)”。
- 设置图片最大宽高。
- 选择颜色格式为 ARGB8565(8位透明度+16位色)或 ARGB8888(32位),以下选择ARGB8888。
- 其他参数参照下图。

2.转换
- 点击【转换】按钮,转换的C完成的代码保存到图片的路径下。


三、编译与运行
1.将转换的C代码添加到lvgl工程,如基于windows的仿真演示。

2.编写代码
static void img_create(void)
{
// 声明图像资源
LV_IMG_DECLARE(image_light);
// 创建第一个图像控件
lv_obj_t *img1 = lv_img_create(lv_scr_act()); // 在当前活动屏幕上创建图像控件
lv_img_set_src(img1, &image_light); // 设置图像源
lv_obj_align(img1, LV_ALIGN_CENTER, 0, 0); // 将图像控件居中对齐到屏幕
lv_obj_set_size(img1, image_light.header.w, image_light.header.h); // 设置图像控件的大小
}
3.调用img_create函数显示图片
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR szCmdLine, int nCmdShow)
{
lv_init();
lv_win32_init(hInstance, SW_SHOWNORMAL, 320, 240, NULL);
img_create();
while (!lv_win32_quit_signal)
{
lv_task_handler();
lv_timer_handler();
usleep(10000);
}
return 0;
}
4.运行演示

四、习题
习题1:导出的图片横向显示。
提示:设置为垂直扫描。
习题2:对指定的文件夹批量导出C代码。
提示:选中文件夹,再点击【批量转换】按钮。

习题3:显示设备为16位色深且要支持透明度,如何正确选择输出颜色深度。
提示:输出颜色深度选择ARGB8565。

习题4:正确选择了输出颜色深度,但是使用生成的C代码颜色存在差异。
提示:选择正确的字节序,特别是SPI屏发送16位色时,要注意字节序。
五、软件下载
下载地址:点击>>单片机多功能调试助手
更多推荐



所有评论(0)