Конвертировать HTML в изображение, используя html2canvas - PullRequest
0 голосов
/ 14 марта 2019

Я разработал простой элемент div, который содержит текст.

Я пытался преобразовать html в PNG, используя 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 голосов
/ 14 марта 2019

Вы можете получить холст в качестве источника изображения и отобразить изображение на своей странице.Обратите внимание, что если вы используете последнюю версию библиотеки 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); 
    });
}
...