Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript从SVG生成低分辨率PNG_Javascript_Svg_Png - Fatal编程技术网

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

使用javascript从SVG生成低分辨率PNG,javascript,svg,png,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.

我想将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);
    }});

但它正在产生巨大的影响。

我终于找到了解决办法。 SVG有一个可用的缩放变换

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

其中“g”是最上面的组标记

您可以在浏览器或节点中使用此库?@DanielA.White我更喜欢在浏览器中使用。@Nicholas我正在使用canvg。但它正在产生巨大的影响PNG@Harikrishnan为什么不缩小SVG的副本,然后转换它呢?