2
私は現在問題があります。 JOINTJSイメージで作成したグラフを変換したい場合は、要素が正しく表示されない...図のダウンロードJOINTJS Image | SVG ==> JNG形式のPNG
図:
http://www.hostingpics.net/viewer.php?id=698706graph.png
コンバージョン:
http://www.hostingpics.net/viewer.php?id=867158graph2.png
ここに私のコードです:
var canvas = document.getElementById('canvas');
var svg = document.querySelector('svg');
var ctx = canvas.getContext('2d');
var data = (new XMLSerializer()).serializeToString(svg);
var DOMURL = window.URL || window.webkitURL || window;
var img = new Image();
var svgBlob = new Blob([data], {type: 'image/svg+xml;charset=utf-8'});
var url = DOMURL.createObjectURL(svgBlob);
img.onload = function() {
ctx.drawImage(img, 0, 0);
DOMURL.revokeObjectURL(url);
var imgURI = canvas
.toDataURL('image/png')
.replace('image/png', 'image/octet-stream');
triggerDownload(imgURI);
};
img.src = url;
多くの研究、異なるコードの後、私はまだ解決策を見つけることができません。 ありがとうございます!
これは、img要素内のsvgから外部リソースを読み込むことができないためです。これらをdataURIに変換し、それをsvg要素に追加する必要があります。二重引用符があり、この[docトピック](http://stackoverflow.com/documentation/html5-canvas/3689/media-types-and-the-canvas/14410/drawing-an-svg-image#t=201607270952095100516) ) – Kaiido
ここでは二重引用符の一つです:http://stackoverflow.com/questions/34042910/convert-svg-to-png-with-applied-images-as-background-to-svg-elements/34043188#34043188投票しませんこれ以上の問題がある可能性があるため、終了してください。 – Kaiido
ありがとうございました!私はこのコードで自分のコードを適応させることができます! – Lucatorze