繁体   English   中英

尝试将SVG转换为PNG图像

[英]Trying to convert an SVG to PNG Image

我已经处理了一段时间,但似乎无法正常工作。 Onclick到生成的png图像为空。 请参见下面的代码。

function svgToCanvas (targetElem,fileName) { 
    var nodesToRecover = [];
    var nodesToRemove = [];

    var svgElem = targetElem.find('svg');

    console.log(svgElem);

    svgElem.each(function(index, node) {
        var parentNode = node.parentNode;
        var svg = parentNode.innerHTML;

        var canvas = document.createElement('canvas');

        canvg(canvas, svg);

        nodesToRecover.push({
            parent: parentNode,
            child: node
        });

        parentNode.removeChild(node);

        nodesToRemove.push({
            parent: parentNode,
            child: canvas
        });

        parentNode.appendChild(canvas);
    });

    html2canvas(targetElem, {
        allowTaint: true,
        onrendered: function(canvas) {

            var theName = fileName + ".png";
            prev_img = theName;

            var a = document.createElement('a');
            a.href = canvas.toDataURL();
            a.download = theName;
            a.click();

        }

    }); 

}

#Running the function..
var theDiv = $('#divContainingSVG');
var fileNm = "imageName";
svgToCanvas(theDiv, fileNm);

不知道下一步要去哪里。 我只需要将图像转换为png,然后将其保存到服务器即可。 测试下载版本时,结果png为空白。 请注意,我正在使用... canvg.js(包括rgbcolor.js)和html2canvas.svg.js

提前致谢!

实际上,事实证明该功能可以正常工作。 问题是与错误地包含在获取svg中的另一个功能发生冲突。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM