Graphics Cairo路径上的布尔运算?

Graphics Cairo路径上的布尔运算?,graphics,path,vector,2d,cairo,Graphics,Path,Vector,2d,Cairo,有没有办法在Cairo中通过并集、差分和交集等布尔运算将两条路径组合在一起来构建路径?我正在开发一个矢量图形应用程序,该应用程序使用Cairo进行渲染,并希望让我的用户能够以这种方式将路径组合在一起,但我找不到在Cairo中进行此操作的方法。将路径与运算符组合在一起对我来说没有任何意义。你从“直线、曲线或圆弧”中得到了什么 相反,您可以使用cairo\u set\u操作符():它将设置当前绘图操作(即cairo\u fill()、cairo\u stroke()或其他任何操作)应如何与曲面的旧内

有没有办法在Cairo中通过并集、差分和交集等布尔运算将两条路径组合在一起来构建路径?我正在开发一个矢量图形应用程序,该应用程序使用Cairo进行渲染,并希望让我的用户能够以这种方式将路径组合在一起,但我找不到在Cairo中进行此操作的方法。

将路径与运算符组合在一起对我来说没有任何意义。你从“直线、曲线或圆弧”中得到了什么


相反,您可以使用
cairo\u set\u操作符()
:它将设置当前绘图操作(即
cairo\u fill()
cairo\u stroke()
或其他任何操作)应如何与曲面的旧内容混合。

我还没有找到使用cairo库进行此操作的方法。但这也是我一直在寻找的功能。当(例如)抚摸两条路径的组合时肯定会有帮助——ntd提到的合成操作符似乎无法做到这一点


同时,我正在尝试为inkscape编写脚本,并让inkscape进行联合/差异化。可以接受我正在解决的问题,但绝对不能接受你的问题。您在cairo或任何其他svg库中有过好运吗?在谷歌搜索了几天之后,这似乎并不简单://

我的意思是Inkscape通过布尔运算组合路径的方式。我想大部分效果都可以通过一系列合成操作符来实现,除了两个图形路径相交的地方不一定有正确的直线连接。我仍然不理解这个问题:inkscape本身使用cairo,因为版本0.46:ps-路径相交/合并/覆盖在cairo网站上被列为可能的夏季代码项目