5

有没有办法填充封闭路径(多边形)之外的所有内容?

背景:我想用海岸线渲染一些地图 - 所以有时我需要用蓝色填充大海,所以我认为用蓝色填充这个海岸线多边形之外的所有东西是最简单的,在我的情况下也是最有效的颜色。

提前致谢!

4

3 回答 3

4

您可以将覆盖整个绘图区域的矩形添加到海岸线路径并将填充规则设置为cairo.FILL_RULE_EVEN_ODD。在此之后调用fill()会填充原始路径之外的区域。(如果您为矩形选择正确的方向,则可以跳过设置填充规则。)

于 2010-11-16T10:20:31.940 回答
0

虽然您可以创建一个与曲面大小相同的闭合路径,然后用一个solidpattern 填充它(填充规则对于简单的矩形来说无关紧要),但使用上下文paint() 方法会更容易填充当前剪辑区域(最初设置为整个曲面)。在绘制地图/海岸线边界并填充它们之前执行此操作非常重要,因此它们将位于背景之上。

于 2010-11-16T11:20:41.483 回答
0

在整个开罗表面上画一个蓝色的大矩形,然后在上面画出你的海岸线?

于 2010-11-16T08:50:25.150 回答