我正在尝试从导入的.svg创建一个符号,然后在每个onmousemove上将其克隆到画布上。下面的代码克隆了一次符号 - 但随后会触发错误。
我是javascript和paper.js的新手,所以任何帮助都会非常感激!
function onMouseMove(event) {
var symbol = new Symbol(project.importSVG("../img/brush.svg"));
var clone = symbol.clone({
center: event.middlePoint
});
}

答案 0 :(得分:2)
您绝对应该在事件处理函数之外创建符号,否则将在每次鼠标移动事件中读取svg,并且每次都会创建一个新符号。并且不需要克隆,只需将符号放置即可。以下snipplet工作(使用示例svg),但它不从文件中读取svg。
var symbol = new Symbol(project.importSVG('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><rect x="10" y="10" height="100" width="100" style="stroke:#ff0000; fill: #0000ff"/></svg>'));
function onMouseMove(event) {
symbol.place(event.middlePoint);
}