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

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

提前致谢!

有帮助吗?

解决方案

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

其他提示

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

当你 可以 创建一条封闭的路径,即表面的大小,然后用solidpattern填充(填充规则对于简单的矩形无关紧要),只需使用上下文paint()方法即可填充当前剪辑区域(最初设置为整个表面)。在绘制地图/海岸线边界并填充它们之前,请务必这样做,以便它们在背景之上。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top