javascript - Paper JS 无法在矩形上打洞

标签 javascript paperjs

我无法在 Paper JS 中的矩形路径中打洞。我正在使用减法。我做错了什么吗?

var rect0 = new Path.Rectangle({
  point: [0, 0],
  size: [view.size.width],
  fillColor: "green",
  position: view.center
});



var rect = new Path.Rectangle({
  point: [0, 0],
  size: [view.size.width],
  fillColor: "#E50069",
  strokeWidth: 1
});

var rect2 = new Path.Rectangle({
  point: [0, 0],
  size: [50],
  fillColor: "white",
  position: view.center,
  strokeWidth: 1
});



rect3 = rect.unite(rect);

var drilled = rect3.subtract(rect2);

rect2.remove();
rect.remove();

Here is a sketch .

最佳答案

我认为您的问题出在 rect3 = rect.unite(rect); 行中,这没有任何意义。
这是sketch使用更明确的代码演示解决方案。

const background = new Path.Rectangle({
    point: [0, 0],
    size: view.size,
    fillColor: 'blue'
});

const rectangle = new Path.Rectangle({
    point: [0, 0],
    size: view.size,
    fillColor: 'orange'
});

const hole = new Path.Rectangle({
    from: view.center - 50,
    to: view.center + 50
});

const rectangleWithHole = rectangle.subtract(hole);

rectangle.remove();
hole.remove();

关于javascript - Paper JS 无法在矩形上打洞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57170149/

相关文章:

javascript - 使用 JS 在 Google Apps 脚本文档中查找未知字符串并将其更改为大写

javascript - 如何使 Bootstrap 模式背景获得模糊效果

javascript - 无法专注于 IE 的可编辑链接

javascript - 如何对齐 html 表单输入和内容间距

javascript - PaperJS - 增加矢量幅度

javascript - window.history.back() 在 Chrome 中不工作,在 Mozilla 中工作

javascript - 在 paperJS 中将自定义对象添加到 Group 中

angular - 如何为 Angular 2 安装和导入 paperjs?

javascript - 谁能帮我将这个 paperscript 转换为 javascript?

python - python 的 paperjs 等价物(特别是 iOS 的 Pythonista)?