LVGL 8.3.4版本中,设置控件背景颜色纯白,但是有偏色,例如设置RGB为 0xFF,0xff,0xff,但是截图发现照片偏绿,使用截图工具查看RGB值为 0xF8,0xFC,0xF8。请教一下:怎样设置纯白背景?或者哪里颜色发生了偏转?


LVGL 8.3.4版本中,设置控件背景颜色纯白,但是有偏色,例如设置RGB为 0xFF,0xff,0xff,但是截图发现照片偏绿,使用截图工具查看RGB值为 0xF8,0xFC,0xF8。请教一下:怎样设置纯白背景?或者哪里颜色发生了偏转?


阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程
你遇到的问题是 LVGL 8.3.4 版本中,设置控件背景颜色为纯白,但是实际截图中出现偏色问题。例如,你设置 RGB 值为 0xFF,0xFF,0xFF,但是实际截图中 RGB 值为 0xF8,0xFC,0xF8。
这可能是由于 LVGL 库中的颜色转换问题导致的。LVGL 库使用了一个名为 lv_color_t 的结构体来表示颜色,该结构体包含了红、绿、蓝三个颜色通道的值。
你可以尝试使用 lv_color_t 结构体中的 lv_color_make 函数来创建颜色,例如:
lv_color_t white = lv_color_make(255, 255, 255);
这将创建一个 RGB 值为 0xFF,0xFF,0xFF 的颜色。
如果你仍然遇到偏色问题,可以尝试使用 lv_color_t 结构体中的 lv_color_get 函数来获取颜色值,例如:
lv_color_t color = lv_obj_get_style_bg_color(obj);
lv_color_t white = lv_color_make(255, 255, 255);
if (lv_color_get_r(color) != 255 || lv_color_get_g(color) != 255 || lv_color_get_b(color) != 255) {
// 偏色处理代码
}
这将获取控件的背景颜色值,并与预期的白色颜色值进行比较。如果颜色值不符,可以执行偏色处理代码。
希望这些建议能够帮助你解决问题。如果你需要更多帮助,请提供更多的代码和信息。