JSON到PNG空图片

时间:2017-04-26 07:59:25

标签: javascript canvas svg png

需要帮助我的功能从SVG下载PNG。 我读过很多类似的帖子,但没有成功申请我的代码。

我下载的图片是空的......

我的代码:



function downloadCarteJPEG(nom,dpi) {
    var svg = document.querySelector("svg");
    var svgData = "";
    
    if (typeof window.XMLSerializer != "undefined") {
        svgData = (new XMLSerializer()).serializeToString(svg);
    } else {
        console.error("XMLSerializer undefined"); 
        return;
    }
     
    var canvas = document.createElement("canvas");
    var ctx = canvas.getContext("2d");
       
    var svgSize = svg.getBoundingClientRect();
    canvas.width  = svgSize.width  * dpi / 25.4;
    canvas.height = svgSize.height * dpi / 25.4;
     
    var data = btoa(unescape(encodeURIComponent(svgData)));
    data = 'data:image/svg+xml;base64,' + data;
      
    var image = document.createElement("img");
      
    image.onload = function() {
        ctx.drawImage(image, 0, 0);
              
        var link = document.createElement("a");
        link.download = nom;
        link.href = canvas.toDataURL("image/png");
        document.querySelector("body").appendChild(link);
        link.click();
        document.querySelector("body").removeChild(link);
    };
        
    image.src = data;
    console.log("EXIT");
}




0 个答案:

没有答案