You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PaperJS中忽略填充规则,填充含负空间的完整路径

PaperJS 路径全区域填充问题(含孔洞/负空间)

我需要用PaperJS实现路径的完整填充,包括路径中的孔洞和负空间。尝试过调用resolveCrossings()(或unite())方法打破路径的所有自交点,但该方法无法处理自交点之间的负空间。

示例路径

使用以下路径数据生成的路径:

var path = new Path("M284.16424,537l251.83576,-251.83576l251.83576,251.83576l-503.67153,-251.83576l251.83576,251.83576l251.83576,-251.83576z");

当前效果

调用resolveCrossings()后得到的CompoundPath包含6个独立路径,对应各自的填充区域,效果如下:
路径填充效果

目标效果

我需要填充所有区域,包括路径中的两个负空间,最终效果如下:
目标填充效果

测试代码

var path = new Path("M284.16424,537l251.83576,-251.83576l251.83576,251.83576l-503.67153,-251.83576l251.83576,251.83576l251.83576,-251.83576z");

// 处理路径自交点
var result = path.resolveCrossings();
result.fillColor = 'black'

内容的提问来源于stack exchange,提问作者marcopaivaf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 06:31:19