开罗填充两个矩形之间的区域

时间:2014-01-23 04:52:05

标签: graphics cairo

在我的程序中,我希望用两种颜色填充两个矩形之间的区域,内部矩形应该是白色。我这样做的方法是绘制外部矩形并用所需颜色填充,然后绘制内部矩形并用白色填充。

如下所示     cairo_rectangle(cr, x1, y1, width1, height1);
cairo_set_source_rgb(cr,0,0,0);
cairo_fill(cr);
cairo_rectangle(cr, x2, y2, width2, height2);
cairo_set_source_rgb(cr,1,1,1);
cairo_fill(cr);

我想知道是否有其他方法可以在这里绘制矩形然后填充它们之间的区域?

1 个答案:

答案 0 :(得分:0)

cairo_rectangle(cr, x1, y1, width1, height1);
cairo_rectangle(cr, x2, y2, width2, height2);
/* Remember to reset this to CAIRO_FILL_RULE_WINDINIG if it matters for other code */
cairo_set_fill_rule(cr, CAIRO_FILL_RULE_EVEN_ODD);
cairo_fill(cr);