From 837b560231cb58276da051a0115ba3b73c636c0d Mon Sep 17 00:00:00 2001 From: VIFEX Date: Tue, 3 Sep 2024 14:07:16 +0800 Subject: [PATCH] fix(vg_lite): fixed clip_radius image cropping error (#6780) Signed-off-by: pengyiqiang Co-authored-by: pengyiqiang --- src/draw/vg_lite/lv_draw_vg_lite_img.c | 19 ++++++--------- src/draw/vg_lite/lv_vg_lite_path.c | 22 ++++++++++++++++++ src/draw/vg_lite/lv_vg_lite_path.h | 2 ++ .../ref_imgs/widgets/image_clip_radius_10.png | Bin 8716 -> 8774 bytes .../widgets/image_clip_radius_circle.png | Bin 8716 -> 8774 bytes ...mage_clip_radius_circle_scaled_rotated.png | Bin 0 -> 13053 bytes .../widgets/image_clip_radius_10.png | Bin 9079 -> 9124 bytes .../widgets/image_clip_radius_circle.png | Bin 9241 -> 9208 bytes ...mage_clip_radius_circle_scaled_rotated.png | Bin 0 -> 10325 bytes tests/src/test_cases/widgets/test_image.c | 13 ++++++++++- 10 files changed, 43 insertions(+), 13 deletions(-) create mode 100644 tests/ref_imgs/widgets/image_clip_radius_circle_scaled_rotated.png create mode 100644 tests/ref_imgs_vg_lite/widgets/image_clip_radius_circle_scaled_rotated.png diff --git a/src/draw/vg_lite/lv_draw_vg_lite_img.c b/src/draw/vg_lite/lv_draw_vg_lite_img.c index 36cbb9cbe..daecff2b6 100644 --- a/src/draw/vg_lite/lv_draw_vg_lite_img.c +++ b/src/draw/vg_lite/lv_draw_vg_lite_img.c @@ -134,22 +134,17 @@ void lv_draw_vg_lite_img(lv_draw_unit_t * draw_unit, const lv_draw_image_dsc_t * lv_vg_lite_path_t * path = lv_vg_lite_path_get(u, VG_LITE_FP32); if(dsc->clip_radius) { - int32_t width = lv_area_get_width(coords); - int32_t height = lv_area_get_height(coords); - float r_short = LV_MIN(width, height) / 2.0f; - float radius = LV_MIN(dsc->clip_radius, r_short); - - /** - * When clip_radius is enabled, the clipping edges - * are aligned with the image edges - */ + /* apply the image transform to the path */ + lv_vg_lite_path_set_transform(path, &matrix); lv_vg_lite_path_append_rect( path, - coords->x1, coords->y1, - width, height, - radius); + 0, 0, + lv_area_get_width(coords), lv_area_get_height(coords), + dsc->clip_radius); + lv_vg_lite_path_set_transform(path, NULL); } else { + /* append normal rect to the path */ lv_vg_lite_path_append_rect( path, clip_area.x1, clip_area.y1, diff --git a/src/draw/vg_lite/lv_vg_lite_path.c b/src/draw/vg_lite/lv_vg_lite_path.c index 1c530072a..9a9346b8a 100644 --- a/src/draw/vg_lite/lv_vg_lite_path.c +++ b/src/draw/vg_lite/lv_vg_lite_path.c @@ -36,8 +36,10 @@ struct lv_vg_lite_path_t { vg_lite_path_t base; + vg_lite_matrix_t matrix; size_t mem_size; uint8_t format_len; + bool has_transform; }; typedef struct { @@ -138,6 +140,7 @@ void lv_vg_lite_path_reset(lv_vg_lite_path_t * path, vg_lite_format_t data_forma path->base.quality = VG_LITE_MEDIUM; path->base.path_type = VG_LITE_DRAW_ZERO; path->format_len = lv_vg_lite_path_format_len(data_format); + path->has_transform = false; } vg_lite_path_t * lv_vg_lite_path_get_path(lv_vg_lite_path_t * path) @@ -234,6 +237,16 @@ bool lv_vg_lite_path_update_bonding_box(lv_vg_lite_path_t * path) return true; } +void lv_vg_lite_path_set_transform(lv_vg_lite_path_t * path, const vg_lite_matrix_t * matrix) +{ + LV_ASSERT_NULL(path); + if(matrix) { + path->matrix = *matrix; + } + + path->has_transform = matrix ? true : false; +} + void lv_vg_lite_path_set_quality(lv_vg_lite_path_t * path, vg_lite_quality_t quality) { LV_ASSERT_NULL(path); @@ -267,6 +280,15 @@ static void lv_vg_lite_path_append_op(lv_vg_lite_path_t * path, uint32_t op) static void lv_vg_lite_path_append_point(lv_vg_lite_path_t * path, float x, float y) { + if(path->has_transform) { + LV_VG_LITE_ASSERT_MATRIX(&path->matrix); + /* transform point */ + float ori_x = x; + float ori_y = y; + x = ori_x * path->matrix.m[0][0] + ori_y * path->matrix.m[0][1] + path->matrix.m[0][2]; + y = ori_x * path->matrix.m[1][0] + ori_y * path->matrix.m[1][1] + path->matrix.m[1][2]; + } + if(path->base.format == VG_LITE_FP32) { lv_vg_lite_path_append_data(path, &x, sizeof(x)); lv_vg_lite_path_append_data(path, &y, sizeof(y)); diff --git a/src/draw/vg_lite/lv_vg_lite_path.h b/src/draw/vg_lite/lv_vg_lite_path.h index 6854b079a..b1ef3f894 100644 --- a/src/draw/vg_lite/lv_vg_lite_path.h +++ b/src/draw/vg_lite/lv_vg_lite_path.h @@ -61,6 +61,8 @@ void lv_vg_lite_path_get_bonding_box(lv_vg_lite_path_t * path, bool lv_vg_lite_path_update_bonding_box(lv_vg_lite_path_t * path); +void lv_vg_lite_path_set_transform(lv_vg_lite_path_t * path, const vg_lite_matrix_t * matrix); + void lv_vg_lite_path_set_quality(lv_vg_lite_path_t * path, vg_lite_quality_t quality); vg_lite_path_t * lv_vg_lite_path_get_path(lv_vg_lite_path_t * path); diff --git a/tests/ref_imgs/widgets/image_clip_radius_10.png b/tests/ref_imgs/widgets/image_clip_radius_10.png index e6688217aa30a1e55b0f3697c9ed990b6e14a16d..e07e4bc1337f2dd2ad7d9addaceafe79d19eec0b 100644 GIT binary patch delta 6678 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 delta 6587 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 E2jJa_(f|Me diff --git a/tests/ref_imgs/widgets/image_clip_radius_circle.png b/tests/ref_imgs/widgets/image_clip_radius_circle.png index e6688217aa30a1e55b0f3697c9ed990b6e14a16d..e07e4bc1337f2dd2ad7d9addaceafe79d19eec0b 100644 GIT binary patch delta 6678 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 delta 6587 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 E2jJa_(f|Me diff --git a/tests/ref_imgs/widgets/image_clip_radius_circle_scaled_rotated.png b/tests/ref_imgs/widgets/image_clip_radius_circle_scaled_rotated.png new file mode 100644 index 0000000000000000000000000000000000000000..08e53cc379e3d6a3bfe53b34a4005554380354c1 GIT binary patch literal 13053 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 literal 0 HcmV?d00001 diff --git a/tests/ref_imgs_vg_lite/widgets/image_clip_radius_10.png b/tests/ref_imgs_vg_lite/widgets/image_clip_radius_10.png index 804a68520f93f815679dc5c92a12723c420e0674..e88151e2a65ba965c26f4c8491dfd97ae950ceaf 100644 GIT binary patch delta 7250 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 delta 7196 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 diff --git a/tests/ref_imgs_vg_lite/widgets/image_clip_radius_circle.png b/tests/ref_imgs_vg_lite/widgets/image_clip_radius_circle.png index ffa28153d770817124c9e8cb2f264441d32846db..329ca5a9ad716450a7d270c4d11bc350b3d7d98e 100644 GIT binary patch delta 7455 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 literal 0 HcmV?d00001 diff --git a/tests/src/test_cases/widgets/test_image.c b/tests/src/test_cases/widgets/test_image.c index d24fc29a2..9ca7c7bc2 100644 --- a/tests/src/test_cases/widgets/test_image.c +++ b/tests/src/test_cases/widgets/test_image.c @@ -365,7 +365,12 @@ void test_image_ignore_transformation_settings_when_tiled(void) void test_image_clip_radius(void) { - lv_obj_t * img = lv_img_create(lv_screen_active()); + lv_obj_t * par = lv_obj_create(lv_screen_active()); + lv_obj_set_scrollbar_mode(par, LV_SCROLLBAR_MODE_OFF); + lv_obj_set_style_radius(par, 0, 0); + lv_obj_center(par); + + lv_obj_t * img = lv_img_create(par); lv_image_set_src(img, &test_arc_bg); lv_obj_center(img); @@ -374,6 +379,12 @@ void test_image_clip_radius(void) lv_obj_set_style_radius(img, LV_RADIUS_CIRCLE, 0); TEST_ASSERT_EQUAL_SCREENSHOT("widgets/image_clip_radius_circle.png"); + + /* parent cliped */ + lv_obj_set_pos(img, -50, -20); + lv_image_set_scale(img, LV_SCALE_NONE * 2); + lv_image_set_rotation(img, 450); + TEST_ASSERT_EQUAL_SCREENSHOT("widgets/image_clip_radius_circle_scaled_rotated.png"); } void test_image_properties(void)