在paper.js中创建一个图章/符号画笔

时间:2016-03-16 16:14:06

标签: canvas paperjs

我正在尝试从导入的.svg创建一个符号,然后在每个onmousemove上将其克隆到画布上。下面的代码克隆了一次符号 - 但随后会触发错误。

我是javascript和paper.js的新手,所以任何帮助都会非常感激!



function onMouseMove(event) {
  
  var symbol =  new Symbol(project.importSVG("../img/brush.svg"));
      
  var clone = symbol.clone({
        center: event.middlePoint
      });
}




1 个答案:

答案 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);  
}

Here is the Sketch for testing