グラフをsvgに変換するコードがあります。しかし、出力形式はPNG形式にする必要があります。 svgString2Image
は、コード化されたbase64 svgを返す関数です。どうしたらいいですか?どうもありがとうございました。base64 svgイメージをbase64イメージpngに変換する方法
function svgString2Image(svgString, width, height, format, callback) {
//console.log("svgString",svgString)
format ? format : 'png';
var imgsrc = 'data:image/svg+xml;base64,'+ btoa(unescape(encodeURIComponent(svgString))); // Convert SVG string to data URL
var canvas = document.createElement("canvas");
var context = canvas.getContext("2d");
canvas.width = width;
canvas.height = height;
var image = new Image();
image.onload = function() {
context.clearRect (0, 0, width, height);
context.drawImage(image, 0, 0, width, height);
canvas.toBlob(function(blob) {
var filesize = Math.round(blob.length/1024) + ' KB';
if (callback) callback(blob, filesize);
});
};
///****************************
document.getElementById('my_image').src=imgsrc;
return image.src = imgsrc;
}
http://plnkr.co/edit/lPhmuYywPCdjQrnwhQcH?p=preview
コールバックを使用します。 – Bergi
@meagerリンクされた質問と回答は、現在の質問のコードでどのように問題に対処していますか? – guest271314
'format'は決して使用されませんが、canvas.toBlobのデフォルトは 'image/png'です。 canvas.toBlobの2番目のパラメータとして、フォーマット '' image/'+ format'を指定したい場合。 –