lv_img_set_src bmp
时间: 2025-07-05 16:08:34 浏览: 11
### 使用 LVGL 设置 BMP 格式图片作为图像组件的源
#### 将 BMP 图片转换为适合 LVGL 的格式
为了在 LVGL 中使用 BMP 格式的图片,首先需要将 BMP 文件转换为适用于嵌入式系统的二进制文件或 C 数组。这可以通过在线工具或命令行工具完成。
对于 BMP 文件,推荐的方法是将其转换为 `.bin` 文件,并通过 `lv_img_set_src()` 函数加载该文件。具体过程如下:
1. **准备 BMP 文件**
确保拥有一个合适的 BMP 文件用于转换[^1]。
2. **使用 lv_img_conv 工具进行转换**
可以利用 LVGL 官方提供的 `lv_img_conv` 工具来执行此操作。例如,在 Git Bash 下运行以下命令可实现 BMP 到 BIN 的转换:
```bash
./lv_img_conv.js ./path/to/image.bmp -f -c CF_TRUE_COLOR -t bin --binary-format 565
```
上述命令会把指定路径下的 BMP 文件转成适配于真彩色显示模式 (CF_TRUE_COLOR) 和 RGB565 编码方式的二进制数据[^3]。
3. **声明并初始化图像资源**
对于已生成的二进制文件(假设名为 `image.bin`),需先定义相应的宏以便后续引用:
```c
extern uint8_t image_bin[];
LV_IMG_DECLARE(image);
```
4. **创建图像对象并与源关联**
接下来创建一个新的图像控件实例并将之前处理好的图像设为其源:
```c
lv_obj_t * img = lv_img_create(lv_scr_act(), NULL);
lv_img_set_src(img, &image); // 如果是从C数组加载则传入&image
```
若图像是保存在外存设备上的,则应按照下面的方式传递参数:
```c
lv_img_set_src(img, "S:path_to_image.bin");
```
此处 `"S:"` 表示 SD 卡或其他形式的外置存储介质地址前缀。
---
阅读全文
相关推荐

















