使用 html2canvas 保存图像 - 纯 Javascript

Save image with html2canvas - Pure Javascript

我正在尝试制作一个按钮来捕获我的页面并将其保存为 png。

现在,我可以用我需要的分辨率复制它,但不是显示它,而是需要显示一个对话框并像 "Save as..." 一样保存它以重命名文件。

function myRenderFunction(canvas) {
  destination.appendChild(canvas);
}

var element = document.getElementById('element');
var destination = document.getElementById('destination');



html2canvas(element, {
  scale: 3,
    onrendered: myRenderFunction
});

这是我当前进程的JSFiddle

要在本地保存图像,您可以将渲染函数更改为以下内容:

function myRenderFunction(canvas){
    var a = document.createElement('a');
    // toDataURL defaults to png, so we need to request a jpeg, then convert for file download.
    a.href = canvas.toDataURL("image/jpeg").replace("image/jpeg", "image/octet-stream");
    a.download = 'somefilename.jpg';
    a.click();
}

这是来自Whosebug的回答