如何在开罗/ Gtk中绘制带圆角的图像?

时间:2010-11-15 10:42:54

标签: gtk cairo

如何在开罗/ Gtk中绘制带圆角的图像?用任何语言。

1 个答案:

答案 0 :(得分:7)

好的,这很简单。这是vala代码:

private void draw_rounded_path(Context ctx, double x, double y,
    double width, double height, double radius) {

    double degrees = M_PI / 180.0;

    ctx.new_sub_path();
    ctx.arc(x + width - radius, y + radius, radius, -90 * degrees, 0 * degrees);
    ctx.arc(x + width - radius, y + height - radius, radius, 0 * degrees, 90 * degrees);
    ctx.arc(x + radius, y + height - radius, radius, 90 * degrees, 180 * degrees);
    ctx.arc(x + radius, y + radius, radius, 180 * degrees, 270 * degrees);
    ctx.close_path();
}

曝光事件的示例: