有没有办法将D3 SVG图像保存为高质量的图像?如果有,请解释一下...
目前,我正在使用以下代码将svg保存为图像,但我得到的图像质量不高-
var canvas1 = document.createElement('canvas');
canvas1.id = "canvas1";
canvas1.width = w+50;
canvas1.height = h+50;
document.getElementById('pngcon').appendChild(canvas1);
var html = new XMLSerializer().serializeToString(document.getElementById(chartId).querySelector('svg'));
var imgsrc = 'data:image/svg+xml;base64,'+ btoa(html);
var canvas = document.getElementById("canvas1");
var context = canvas.getContext("2d");
var canvasdata;
var image = new Image;
image.src = imgsrc;
image.onload = function() {
context.drawImage(image, 0, 0);
canvasdata = canvas.toDataURL("image/png");
var a = document.createElement("a");
a.id="imagepng"
a.download = chartname+".png";
a.href = canvasdata;
document.body.appendChild(a);
document.getElementById("imagepng").click();