javascript - 使用 paper.js 将路径分成两个单独的路径

标签 javascript paperjs

我需要使用一条线将一条大路径“分割”成两条小路径。例如,您可能有以下配置:

Example of slicing

手术后,我应该有两条截然不同的闭合路径。我可能应该找到两个交叉点并使用 Path.split 函数来分割矩形路径,但我不完全理解 paper.js API,我不确定使用 paper 来做到这一点的最佳方法.js API。

例如,我通过执行以下命令拆分原始矩形:

 var starting_shape = new paper.Path.Rectangle([paper.view.center.x - 200, paper.view.center.y - 200], 400);
 starting_shape.strokeColor = "#aaa";
 starting_shape.strokeWidth = 2;
 starting_shape.fullySelected = true;

 var p1 = starting_shape.split(starting_shape.getNearestLocation([paper.view.center.x - 40, paper.view.center.y - 250]));
 var p2 = starting_shape.split(starting_shape.getNearestLocation([paper.view.center.x + 50, paper.view.center.y + 250]));

我得到以下信息:

Splitting rectangle

我尝试执行以下操作:

p1.closed = true;
p2.closed = true;

p1.position.x += 10;

我得到了必要的结果:

Result

但是有没有办法让它更聪明呢?

最佳答案

是的,您可以使用 path.divide(path2) 执行除法 bool 运算。如果您从 github 克隆项目,Examples > Scripts > BooleanOperations.html

中有对所有 bool 函数的测试

我认为目前仅用一条线就无法像您希望的那样工作。封闭路径似乎更稳定。

关于javascript - 使用 paper.js 将路径分成两个单独的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23258001/

相关文章:

javascript - 如何计算和显示以分钟为单位的时差Angular 2

javascript - IIFE 内部的函数无法识别

javascript - PaperJS 多维数组

javascript - 从 SVG/paper js 生成 PDF

javascript - Paper.js 代码在 Chrome 开发者工具中看起来有所不同

javascript - Paperjs - 访问多个 paperscript 文件中的类

Javascript 和分割,在 for 循环中崩溃浏览器

javascript - 将模板与主干 js 结合使用

javascript - 在我的 Rails 应用程序中将具有评级值的组合框更改为 5 星级系统

javascript - 如何过滤文档中的嵌入文档?