2

ページにsvgがあり、pngにエクスポートする必要があるため、ここでのアドバイスに従って、 canvgを使用しています。

コピーは最初はうまく機能しているように見えますが、その後、キャンバスの高さが不思議に増加し始めます。

私は明らかに間違ったことをしていますか?運が悪かったので、キャンバスにさまざまなサイズを設定してみました。IEとChromeで失敗します。

これが私のエクスポート機能です:

function copytocanvas()
{
    var c = document.getElementById('canvas');
    c.width = $('#svgChart').width();
    c.height = c.width;
    c.getContext = document.getElementById('canvas').getContext;


    var svg = document.getElementById('svgChart'); // or whatever you call it
    var serializer = new XMLSerializer();
    var str = serializer.serializeToString(svg);

    canvg(c, str);  
}

これが問題を示すjsfiddleです:http://jsfiddle.net/LkqTU/4772/

スクロールすると問題が悪化するようです!

4

1 に答える 1

2

これを試して:

canvg(c, str, {ignoreMouse:true, ignoreDimensions:true});

編集:

あなたがする必要はないようですignoreMouse

canvg(c, str, {ignoreDimensions:true});トリックを行う必要があります。

于 2012-10-24T21:54:21.800 に答える