【发布时间】:2014-01-23 04:52:04
【问题描述】:
在我的程序中,我想用某种颜色填充两个矩形之间的区域,内部矩形应该是白色的。我这样做的方式是绘制外部矩形并用所需的颜色填充它,然后绘制内部矩形并用白色填充它。
类似以下内容:
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);
我想知道是否有其他方法可以绘制两个矩形,然后填充它们之间的区域?
【问题讨论】:
-
开罗的哪个版本?这可能无关紧要,但以防万一。
-
@oliverseal 它的 1.12.16
-
重新阅读您的问题后,我撤回了答案。为什么不直接描边你想要的厚度然后填充呢?我假设您正在尝试减少填充和 set_source_rgb 调用,因为它们很昂贵。
-
@oliverseal 我可以做到,但如果我有两个或三个或一个形状,这会起作用吗?
-
我不这么认为。取决于所需的视觉效果。如果您有多种颜色,则每种颜色都需要
cairo_set_source_rgb和cairo_fill。