lvgl图片部件
时间: 2025-05-10 11:24:50 浏览: 21
### LVGL 图片部件使用方法
LVGL 的图片部件 (`lv_img`) 是用于显示图像的核心组件之一。它支持多种格式的图像数据,包括颜色索引图、Alpha 通道图以及 RGB565 和 RGBA8888 格式的位图[^1]。
#### 创建图片部件
创建 `lv_img` 部件可以通过调用函数 `lv_img_create(lv_obj_t * parent)` 实现。此函数接受父对象作为参数并返回新创建的图片部件指针。以下是创建图片部件的一个简单示例:
```c
// 创建一个基础对象作为父容器
lv_obj_t *parent = lv_scr_act();
// 创建一个新的图片部件
lv_obj_t *img = lv_img_create(parent);
// 设置图片源 (假设有一个名为 icon_dsc 的图标描述符)
lv_img_set_src(img, &icon_dsc);
```
上述代码片段展示了如何通过指定父级对象来初始化一张新的图片,并设置其资源来源[^2]。
#### 设置图片源
可以利用 `lv_img_set_src()` 函数为图片部件分配图像资源。该函数允许传入多种形式的数据源,比如符号常量、文件路径或者外部缓冲区地址等。下面列举了几种常见的应用场景及其对应的实现方式:
- **内置图标**: 如果目标设备已经预加载了一些固定图案,则可以直接引用这些定义好的静态变量名。
```c
lv_img_set_src(image_object, LV_SYMBOL_OK); // 显示 OK 符号
```
- **二进制数组**: 当处理自定义图形时,通常会将其转换成适合嵌入式环境使用的字节数组形式。
```c
extern const uint8_t my_image_data[]; // 定义于其他地方的具体数值序列
lv_img_set_src(image_object, my_image_data);
```
- **文件系统中的图片**: 对于具备存储介质访问能力的应用场合来说,也可以从本地读取实际存在的媒体文件。
```c
lv_img_set_src(image_object, "S:/images/sample.jpg");
```
以上每一种情况都体现了灵活多样的配置选项,满足不同开发需求的同时也简化了编码流程。
#### 调整属性
除了基本的画面呈现之外,还可以进一步定制化外观特性,例如缩放比例、旋转角度和平铺模式等等。这里给出几个常用的调整命令说明:
- **尺寸变换**
```c
lv_obj_set_width(image_object, new_width_value); // 修改宽度
lv_obj_set_height(image_object, new_height_value); // 修改高度
```
- **位置偏移**
```c
lv_obj_align(image_object, alignment_reference, x_offset, y_offset);
```
- **透明度控制**
```c
lv_obj_set_style_opa(image_object, opacity_level, part_selector);
```
更多高级样式设定可通过查阅官方文档获取全面指导。
---
阅读全文
相关推荐

















