2014-12-04 50 views
0

我想將SVG文件轉換爲PNG文件。 但SVG視圖框是「0 0 8268 5827」,所以它會生成一個巨大的文件。 我想從該SVG生成一個小文件。 有人可以告訴我我該怎麼做?使用javascript從SVG生成低分辨率的PNG

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

但它產生大的圖像。

+0

你可以使用這個庫:http://code.google.com/p/canvg/ – 2014-12-04 14:35:30

+0

在瀏覽器或節點? – 2014-12-04 14:35:30

+0

@ DanielA.White我喜歡在瀏覽器中。 – Harikrishnan 2014-12-04 14:41:43

回答

2

最後我找到了解決方案。 SVG有一個縮放轉換可用。

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

其中「g」是最高組標記。