LVGL样式属性详解(颜色、边框、阴影)
从一次屏幕“花屏”说起
上周调试一块320x240的LCD屏,客户反馈某些界面元素边缘出现诡异的彩色噪点。我第一反应是DMA传输时序问题,抓了三天波形无果。最后发现是样式属性中border_color和shadow_color的透明度设置冲突——LVGL的阴影渲染会复用边框的alpha通道,当两者不匹配时,底层混合算法会算出奇怪的像素值。这个坑让我意识到,LVGL的样式属性远不止“设置颜色”这么简单。
颜色属性:不只是RGB888
LVGL的颜色系统用lv_color_t结构体表示,默认是32位(8位alpha + 8位R + 8位G + 8位B)。但实际项目中,你可能会遇到这些情况:
1. 颜色宏的“陷阱”
// 别这样写!直接传RGB值会丢失透明度lv_style_set_bg_color(&style,