069、LVGL基础控件:图像(Image)

发布时间:2026/6/3 10:04:34

069、LVGL基础控件:图像(Image) LVGL基础控件:图像(Image)上周帮同事调一个智能家居面板的界面,屏幕中间一张PNG图标死活显示不出来,LVGL日志也没报错,但就是一片空白。折腾了两个小时,最后发现是图像数据对齐出了问题——LVGL内部对图像缓冲区的地址有32位对齐要求,而我用malloc分配的内存没做对齐处理。这种坑踩过一次就记住了,今天写图像控件,就从这里开始。图像控件的本质LVGL里的Image控件(lv_img)本质上是一个显示位图数据的容器。它不像Button那样有复杂的交互逻辑,核心任务就是把像素数据正确映射到屏幕上。你给它什么数据,它就显示什么,但“给数据”这个过程,恰恰是新手最容易翻车的地方。图像数据来源有三种:内置到固件的C数组、文件系统读取、以及运行时动态创建。嵌入式环境里最常用的是第一种,也就是用LVGL的图片转换工具(LVGL Image Converter)把PNG/JPG转成C源码文件。转换后会生成一个lv_img_dsc_t结构体,里面包含了宽高、颜色格式、数据指针。// 转换后生成的描述符,别手改这个结构体constlv_img_dsc_tmy_image=

相关新闻