想不通,各位大神帮忙看看
我有原始的 cairo 表面srf
及其上下文c
现在我正在创建另一个表面shadow
并将其叠加在前一个表面上
cairo_t *cr = c;
cairo_surface_t *shadow = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, width, height);
c=cairo_create(shadow);
draw_rounded_rect(c, x_o+offset, y_o+offset, width, height, radius_int, 1, 1);
cairo_set_source_rgba(c, 0, 0, 0, 1);
cairo_fill(c);
blur_image_surface(shadow,10);
cairo_set_source_surface(cr,shadow,x,y);
cairo_paint(cr);
cairo_surface_destroy(shadow);
c=cr;
我使用的模糊算法来自官方 cairo doc here,它单独工作
叠加也很完美,但表面一点也不模糊