是否有一种方法可以填充闭合路径(多边形)之外的所有内容?
背景:我想渲染一些带有海岸线的地图-所以有时我需要用蓝色填充大海,所以我认为在我的情况下,用蓝色填充这个海岸线多边形之外的所有东西是最简单也是最有效的。
提前感谢!
发布于 2010-11-16 18:20:32
可以将覆盖整个绘图区域的矩形添加到海岸线路径,并将填充规则设置为cairo.FILL_RULE_EVEN_ODD。在此之后调用fill()将填充原始路径之外的区域。(如果为矩形选择了正确的方向,则可以跳过设置填充规则。)
发布于 2010-11-16 16:50:25
在整个开罗表面画一个蓝色的大矩形,然后在上面画你的海岸线?
发布于 2010-11-16 19:20:41
虽然您可以创建一个表面大小的闭合路径,然后用实心图案填充它(填充规则对于简单的矩形来说并不重要),但使用上下文paint()方法会更容易,它将填充当前的剪辑区域(最初设置为整个表面)。在绘制地图/海岸线边界并填充它们之前,这一点很重要,这样它们就会位于背景之上。
https://stackoverflow.com/questions/4192384
复制相似问题