我创建了以下函数,用于在开罗绘制圆角矩形框
void square (Context cr, int x, int y, int sizex, int sizey, int radius)
{
cr.move_to (x + radius, y);
cr.arc (x + sizex - radius, y + radius, radius, 1.5 * PI, 0);
cr.arc (x + sizex - radius, y + sizey - radius, radius, 0, 0.5 * PI);
cr.arc (x + radius, y + sizey - radius, radius, 0.5 * PI, PI);
cr.arc (x + radius, y + radius, radius, PI, 1.5 * PI);
}
这是一种非常类似于 C 的方式。我宁愿以更面向对象的方式来做这件事。就像将函数实现为 Cairo.Context 的方法一样。