使用html2canvas

时间:2019-03-14 01:22:59

标签: javascript html css html5 html2canvas

我开发了一个简单的div元素,其中包含文本。

我试图使用htmlPNG转换为html2canvas并将其作为图像输出到另一个图像中。在我的本地服务器上运行它时,将根据console.log

成功初始化渲染

118ms html2canvas: Canvas renderer initialized (1350x18 at 8,8) with scale 1

但是输出图像未追加到分配的div元素中。

任何帮助将不胜感激!

JAVASCRIPT

function myFunction () { 
   html2canvas(document.getElementById("hi"), {
       onrendered: function(canvas) {
           theCanvas = canvas;
           document.body.appendChild(canvas);
           // Convert and download as image 
           Canvas2Image.saveAsPNG(canvas); 
           document.getElementById("img-out").append(canvas);
      }
   });
}

HTML

<html>
   <script src="https://html2canvas.hertzen.com/dist/html2canvas.min.js"></script>
   <script src="https://html2canvas.hertzen.com/dist/html2canvas.js"></script>

  <body onload="myFunction()">
    <div id ="hi">
      Hi There !
    </div>
    </br></br></br></br></br></br>
    <div id="img-out"></div>
  </body>
</html>

1 个答案:

答案 0 :(得分:0)

您可以将画布用作图像源并在页面上显示图像。 请注意,如果您使用的是最新版本的html2canvas库,则不建议使用“ onrendered”功能。请改用以下脚本

function myFunction (){
    html2canvas(document.querySelector("#hi")).then(canvas => {
        document.body.appendChild(canvas);
        var img = document.createElement("img"); // create an image object
            image.src = canvas.toDataURL(); // get canvas content as data URI
        document.getElementById('img-out').appendChild(image); 
    });
}