当您访问该站点时,将其粘贴到控制台中(覆盖故障功能)。
  function getImgData(chartContainer) {
    var chartArea = chartContainer.getElementsByTagName('svg')[0].parentNode;
    var svg = chartArea.innerHTML;
    var doc = chartContainer.ownerDocument;
    var canvas = doc.createElement('canvas');
    canvas.setAttribute('width', chartArea.offsetWidth);
    canvas.setAttribute('height', chartArea.offsetHeight);
    canvas.setAttribute(
        'style',
        'position: absolute; ' +
        'top: ' + (-chartArea.offsetHeight * 2) + 'px;' +
        'left: ' + (-chartArea.offsetWidth * 2) + 'px;');
    doc.body.appendChild(canvas);
    canvg(canvas, svg);
    var imgData = canvas.toDataURL("image/png");
    canvas.parentNode.removeChild(canvas);
    return imgData;
  }
在 JS 中,它正在搜索 iframe bla bla 来获取 svg。
要自动保存图像,您可以让该方法以编程方式被调用。
document.body.addEventListener("load", function() {
        saveAsImg( document.getElementById("pie_div")); // or your ID
    }, false );
为了在服务器端保存图像,这篇文章可能有助于在服务器端保存 PNG 图像
更新
将图像发布到 PHP (index.js)
function saveToPHP( imgdata ) {
    var script = document.createElement("SCRIPT");
    script.setAttribute( 'type', 'text/javascript' );
    script.setAttribute( 'src', 'save.php?data=' + imgdata );
    document.head.appendChild( script );
}
function save() {
    var canvas = document.getElementById("canvas"), // Get your canvas
        imgdata = canvas.toDataURL();
    saveToPHP( imgdata );
}
function drawOnCanvas() {
    var canvas = document.getElementById("canvas"), // Get your canvas
        ctx = canvas.getContext("2d");
    ctx.strokeStyle = "#000000";
    ctx.fillStyle = "#FFFF00";
    ctx.beginPath();
    ctx.arc(100,99,50,0,Math.PI*2,true);
    ctx.closePath();
    ctx.stroke();
    ctx.fill();
}
drawOnCanvas(); // Test
save();
保存.php
<?php
    // Get the request
    $data = $_GET['data'];
    // Save to your DB.
?>