通过js实现canvas保存图片为png下载

  • A+
所属分类:前端

问题:有些网站用Canvas展示图像,不能以文件格式下载。

参考链接https://stackoverflow.com/questions/923885/capture-html-canvas-as-gif-jpg-png-pdf

选择元素时注意是否分层,如果分层的话需要用开发者工具移除覆盖的透明元素(常见的使用div),用到的JavaScript代码如下。

function exportCanvasAsPNG(id, fileName) {

    var canvasElement = document.getElementById(id);

    var MIME_TYPE = "image/png";

    var imgURL = canvasElement.toDataURL(MIME_TYPE);

    var dlLink = document.createElement('a');
    dlLink.download = fileName;
    dlLink.href = imgURL;
    dlLink.dataset.downloadurl = [MIME_TYPE, dlLink.download, dlLink.href].join(':');

    document.body.appendChild(dlLink);
    dlLink.click();
    document.body.removeChild(dlLink);
}
weinxin
独角兽驿站
公众号

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: