创建与PaperScope分离的paperjs对象
我希望可以创建,比如说,一个未附加到作用域的创建与PaperScope分离的paperjs对象,paperjs,Paperjs,我希望可以创建,比如说,一个未附加到作用域的Paper.Path对象。我之所以需要这样做,是因为我有几个解析器类的工作是从gerber文件生成几何体,它们不应该对PaperScope的画布有任何影响。关注点的简单分离 例如:(此代码不起作用) 从“paperjs”导入纸张,{Path,Point}; 设路径=新路径([新点(100100),新点(200,-50)]); paper.addPath(路径) 可以设置Paper.js,使其在默认情况下不会在场景中插入新创建的文件。初始化应用程序时,必
Paper.Path
对象。我之所以需要这样做,是因为我有几个解析器类的工作是从gerber文件生成几何体,它们不应该对PaperScope
的画布有任何影响。关注点的简单分离
例如:(此代码不起作用)
从“paperjs”导入纸张,{Path,Point};
设路径=新路径([新点(100100),新点(200,-50)]);
paper.addPath(路径) 可以设置Paper.js,使其在默认情况下不会在场景中插入新创建的文件。初始化应用程序时,必须设置paper.settings.insertItems=false
(请参阅)
如果希望某些项目成为场景的一部分,而其他项目不是,则可以通过将insert:true/false
参数传递给构造函数,更好地控制是否插入这些项目。
下面是一个示意图,演示了这种行为
//将其切换为true以查看差异。
const INSERT=false;
const circle=新路径。circle({
中心:view.center,
半径:50,
fillColor:'橙色',
插入:插入
})
您可以设置Paper.js,使其在默认情况下不会在场景中插入新创建的文件。初始化应用程序时,必须设置paper.settings.insertItems=false
(请参阅)
如果希望某些项目成为场景的一部分,而其他项目不是,则可以通过将insert:true/false
参数传递给构造函数,更好地控制是否插入这些项目。
下面是一个示意图,演示了这种行为
//将其切换为true以查看差异。
const INSERT=false;
const circle=新路径。circle({
中心:view.center,
半径:50,
fillColor:'橙色',
插入:插入
})
如果在创建路径后删除路径(path.remove()
),则不会在任何画布上绘制该路径(但您仍可以根据需要使用它)。这对您有用吗?如果您在创建路径之后删除它(path.remove()
),它将不会在任何画布上绘制(但您仍然可以根据需要使用它)。这对你有用吗?另外,import{Path}是否从“paper”导入类型或函数?因为Path.clone()as Path
返回一个错误:TS2749:“Path”指的是一个值,但在这里被用作一个类型。
为了以后将该项添加到场景中,您只需将其添加为场景中另一项的子项(例如paper.project.activeLayer.addChild(item)
)。关于从“paper;”导入{Path}代码>,我建议使用import*作为“纸张”中的纸张相反,我不确定Paper.js是否与ES6导入完全兼容。另外,import{Path}是否从“Paper”导入类型或函数?因为Path.clone()as Path
返回一个错误:TS2749:“Path”指的是一个值,但在这里被用作一个类型。
为了以后将该项添加到场景中,您只需将其添加为场景中另一项的子项(例如paper.project.activeLayer.addChild(item)
)。关于从“paper;”导入{Path}代码>,我建议使用import*作为“纸张”中的纸张相反,我不确定Paper.js是否与ES6导入完全兼容。
import paper, {Path, Point} from 'paperjs';
let path = new Path([new Point(100, 100), new Point(200, -50)]);
paper.addPath(path); <- this doesn't exist but you get the point.