javascript - 使用 paperjs 在图像上绘图

标签 javascript html canvas paperjs

我正在使用 Paper.js 在 Canvas 上绘制线条。 我希望能够将本地镜像上传到 paperjs Canvas ,然后能够在其上绘图。

我所做的是:

      var canvas = document.getElementById('canvas');
    var context = canvas.getContext('2d');
    function make_base()
    {
      var img = document.createElement("img");
      img.src = "http://paperjs.org/tutorials/images/working-with-rasters/mona.jpg";
      context.drawImage(img, 100, 100);
    }
    document.getElementById('imageUpload').addEventListener('click', function(){
      make_base();
    });

这成功地将图像添加到我的 Canvas 上,但是当我在 Canvas 上绘制时,图像消失并且图像位于线条的顶部,应该位于线条的后面。

最佳答案

您可以将图像作为 paperjs Raster 项目添加到 paper 项目中

var raster = new Raster({
    source: "http://paperjs.org/tutorials/images/working-with-rasters/mona.jpg",
    position: view.center
});

它将被插入到项目的当前层中。然后,您可以使用 paperjs 函数(例如 sendToBack 和 BringToFront)来操作出现在何处的内容。我可能会将光栅图像放在第一个图层上,然后为绘图添加一个新图层,以便于跟踪。

关于javascript - 使用 paperjs 在图像上绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28566095/

相关文章:

javascript - jQuery 获取元素的上一个位置

javascript - 如何在 JavaScript 中检查 boolean HTML 属性的当前值?

javascript - 如何在 iOS 中调用 Javascript 方法?

javascript - 如何在 Canvas 中按比例调整视频大小?

Javascript,显示透明图像。

javascript - jQuery Submit() - 表单仍被发送

javascript - 如何在 javascript 中从具有相同 x 坐标的 document.elementFromPoint 获取 id?我希望所有的 div id 都这样

javascript - ExtJs 6.0 - Ext.application 内的 Javascript 事件处理函数作用域

javascript - 为什么我不能在 fs.readFile 中使用 response.write?

javascript - THREE.js:跨源资源共享策略拒绝跨源图像加载