lvgl V7canvas 高效清屏的办法
时间: 2023-07-23 13:34:13 浏览: 395
canvas的神奇用法
在LVGL V7中,为了提高Canvas的清屏效率,可以使用 `lv_canvas_clear(canvas_obj, NULL, LV_COLOR_BLACK)` 函数代替 `lv_canvas_fill_bg(canvas_obj, LV_COLOR_BLACK, LV_OPA_COVER)` 函数。
`lv_canvas_clear()` 函数会清除整个Canvas的像素,相比 `lv_canvas_fill_bg()` 函数,它不需要考虑清除区域的位置和大小,因此执行效率更高。
使用 `lv_canvas_clear()` 函数清屏的示例代码如下所示:
```c
lv_obj_t * canvas_obj = lv_canvas_create(lv_scr_act(), NULL);
lv_canvas_set_buffer(canvas_obj, buf, LV_HOR_RES_MAX, LV_VER_RES_MAX, LV_IMG_CF_TRUE_COLOR);
/* 使用 lv_canvas_clear() 函数清除Canvas上的像素 */
lv_canvas_clear(canvas_obj, NULL, LV_COLOR_BLACK);
/* 刷新Canvas的画面 */
lv_canvas_flush(canvas_obj, 0, 0, LV_HOR_RES_MAX, LV_VER_RES_MAX);
```
注意:在使用 `lv_canvas_clear()` 函数清屏时,也需要使用 `lv_canvas_flush()` 函数将修改后的画面刷新到屏幕上。
阅读全文