Raphael.jsで生成されたsvgをPNG画像に変換しようとしています。さて、svgにパターンと画像コンポーネントがない場合、svgを画像に変換しました。次に、これらの2つのコンポーネントをSVGに追加すると、何かがうまくいかず変換が失敗します。 完全なフィドルはhereです。生成されたsvgを保存してブラウザに開いても、イメージをイメージに変換せずに表示しても、レンダリングされません。パターンと画像要素からPNG画像への変換が失敗したSVG
コードスニペットは、次のとおりです。
var r = Raphael(document.getElementById("cus"), 390, 253);
r.setViewBox(-5, -2, 228, 306);
for (var outline in doorMatOutline) {
var path = r.path(doorMatOutline[outline].path);
//path.attr({fill: 'url('+patternuri+')'}); //adding pattern
}
//adding image
var img = r.image(imageuri, 5 ,10 ,100 ,100);
var svg = $('#cus').html().replace(/>\s+/g, ">").replace(/\s+</g, "<");
canvg('cvs', svg, {
ignoreMouse: true,
ignoreAnimation: true
});
var canvas = document.getElementById('cvs');
var img = canvas.toDataURL("image/png");
$("#resImg").attr('src', img);
$("#cus").hide();
画像を見ています。 – kinkajou
これはfirefoxとchromeで動作します。 canvgスクリプトに関するIEにはエラーがあります。私は見ていますが、それが簡単に解決できるかどうかはわかりません。 – Ben
IEで動作するように更新されました。うまくいけば、うまくいけば分かります。 – Ben