Javascript 如何将paper.js项目合并到光栅图像中?

Javascript 如何将paper.js项目合并到光栅图像中?,javascript,raster,paperjs,Javascript,Raster,Paperjs,我正在使用paper.js创建一个应用程序,我可以在其中标记图像,然后保存它 我的论文项目的最底层是图像的光栅。下一层是使用各种paper.js项进行矢量图形标记的地方。提交项目后,我将其复制到较低的(光栅)层,并将其保留。但它只是层的子项,而不是光栅化图像的一部分。如果使用toDataURL将光栅捕获为图像,则子项不是图像的一部分(我不希望它们是) 如何使用paper.js项插入/覆盖光栅化图像的一部分?我可以先对项目进行栅格化,但我需要知道如何将两个栅格与另一个栅格的一个重叠部分合并?如果我

我正在使用paper.js创建一个应用程序,我可以在其中标记图像,然后保存它

我的论文项目的最底层是图像的光栅。下一层是使用各种paper.js项进行矢量图形标记的地方。提交项目后,我将其复制到较低的(光栅)层,并将其保留。但它只是层的子项,而不是光栅化图像的一部分。如果使用toDataURL将光栅捕获为图像,则子项不是图像的一部分(我不希望它们是)


如何使用paper.js项插入/覆盖光栅化图像的一部分?我可以先对项目进行栅格化,但我需要知道如何将两个栅格与另一个栅格的一个重叠部分合并?如果我先转换为光栅,则不在实际paperjs项目中但在封闭矩形中的像素将需要透明,即不覆盖光栅化图像。

您可以从整个图层创建光栅对象,然后将其转换为DataURL字符串:

var tempImg = project.layers[0].rasterize();
var dataString = tempImg.toDataURL();
tempImg.remove();

可以从整个图层创建光栅对象,然后将其转换为DataURL字符串:

var tempImg = project.layers[0].rasterize();
var dataString = tempImg.toDataURL();
tempImg.remove();

非常感谢。我不太清楚我是否可以光栅化一层。这很好,谢谢你!我不太清楚我是否可以光栅化一层。这个技巧做得很好。