gpt4 book ai didi

gtk - 如何在 Cairo/Gtk 中绘制圆角图像?

转载 作者:行者123 更新时间:2023-12-02 22:19:40 27 4
gpt4 key购买 nike

如何在 Cairo/Gtk 中绘制圆角图像?任何语言。

最佳答案

好吧,这真的很简单。这是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();
}

和expose_event的示例:

public override bool expose_event(Gdk.EventExpose event) {
//base.expose_event(event);
Context ctx = Gdk.cairo_create(this.window);

draw_rounded_path(ctx, allocation.x, allocation.y, allocation.width,
allocation.height, 5);

if(pixbuf != null) {
Gdk.cairo_set_source_pixbuf(ctx, pixbuf, allocation.x, allocation.y);
ctx.clip();
}

ctx.paint();
return false;
}

关于gtk - 如何在 Cairo/Gtk 中绘制圆角图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4183546/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com