【发布时间】:2012-03-12 06:31:56
【问题描述】:
有没有办法在开罗通过布尔运算(例如并集、差集和交集)将两条路径组合在一起来构建路径?我正在开发一个使用 Cairo 进行渲染的矢量图形应用程序,并希望让我的用户能够以这种方式将路径组合在一起,但我无法在 Cairo 找到一种方法。
【问题讨论】:
标签: graphics path vector 2d cairo
有没有办法在开罗通过布尔运算(例如并集、差集和交集)将两条路径组合在一起来构建路径?我正在开发一个使用 Cairo 进行渲染的矢量图形应用程序,并希望让我的用户能够以这种方式将路径组合在一起,但我无法在 Cairo 找到一种方法。
【问题讨论】:
标签: graphics path vector 2d cairo
我还没有找到使用 cairo 库执行此操作的方法。但这也是我一直在寻找的功能。当(例如)抚摸两条路径的组合时肯定会有所帮助 - ntd 提到的合成运算符似乎无法做到这一点。
与此同时,我正在尝试为inkscape 编写脚本,并让inkscape 进行联合/差异化。我正在处理的问题可以接受,但绝对不适合你的问题。你有没有运气,无论是开罗还是任何其他 svg 库?经过几天的谷歌搜索,这似乎并不简单:/
【讨论】:
将路径与运算符结合起来对我来说没有任何意义。你从“线与曲线或弧”中得到什么?
相反,您可以使用cairo_set_operator() 应用compositing operators:它将设置当前绘图操作(cairo_fill()、cairo_stroke() 或其他)应如何与表面的旧内容混合。
【讨论】: