Description
In some setting scenes, the display needs to be blurred.
I tested the canvas and found that it has a blurry effect. But need to put the image on the canvas
The code block(s) should be formatted like:
lv_obj_t *canvas = lv_canvas_create(lv_scr_act(), NULL);
static lv_color_t canvas_buf[252 * 166];
lv_canvas_set_buffer(canvas, canvas_buf, 252, 166, LV_IMG_CF_TRUE_COLOR_ALPHA);
lv_draw_img_dsc_t img_dsc;
lv_draw_img_dsc_init(&img_dsc);
lv_canvas_draw_img(canvas, 0, 0, "z:img.png", &img_dsc);
lv_area_t area = {0, 0, 252, 100};
//! Blur needs to be set vertically and horizontally together
lv_canvas_blur_hor(canvas, &area, 30);
lv_canvas_blur_ver(canvas, &area, 30);
Screenshot and/or video
I want to blur a part of the screen, not limited to the canvas, how should I solve it
Possible ideas
- How to get the display data of an area on the screen
- Assuming that it can be obtained, then write it to the canvas to blur
I hope that there will be a new interface in the future, which can set an area to be blurred on the screen