我正在尝试将画布从网页保存到文件中。画布非常复杂,由几个图像(几个半透明的 .png 文件、2 个 svg 元素和 4 个其他画布)构建而成,无论我如何尝试保存它,使用canvas.toDataURL()
方法或使用domtoimage [库] (https://github.com/tsayen/dom-to-image)或canvas2image或fileSaver或canvasToBLob库 - 结果是相同的:没有 svg(和<image>
内部元素)部分的图像。所以我只得到那些用画布建造的零件。我读到了“受污染”的画布,但图像主机服务器与网页相同。
此外,我很困惑,因为如果我通过单击 RCM 并选择“将图像另存为”功能来保存画布 - 它会准确地保存我需要的东西 - 完整的图片。
整个代码很大,保存选项也不一样,所以我在这里只放一个保存选项:
domtoimage.toBlob(canvasElement)
.then(function (blob) {
console.log(blob);
window.saveAs(blob, 'my-node.png');
});
左边的图片是我在浏览器中使用‘ save image as ’功能得到的,右边是js通过toBlob保存的图片
将很高兴获得有关如何自动保存完整图像的任何建议:)