使用javascript从SVG生成低分辨率PNG

时间:2014-12-04 14:33:05

标签: javascript svg png

我想将SVG文件转换为PNG文件。 但是SVG视图框是" 0 0 8268 5827"所以它会生成一个巨大的文件。 我想从该SVG生成一个小文件。 谁能告诉我怎么办?

我使用了Canvg

var c = $('#export_canvas')[0];
canvg(canvas, data.svg, {renderCallback: function() {
        var datauri = data.quality ? c.toDataURL('image/' + "png", data.quality) : c.toDataURL('image/' + "png");
        window.open(datauri);
    }});

但它正在产生巨大的形象。

1 个答案:

答案 0 :(得分:2)

最后我找到了解决方案。 SVG可以进行比例转换。

                var svgStr = $(data.svg);
                svgStr.removeAttr("height");
                svgStr.removeAttr("width");
                $(svgStr.find("g")[0]).attr("transform", "scale(0.09)");

其中“g”是顶部组标签。