Я разработал простой элемент div, который содержит текст.
Я попытался преобразовать html в PNG с помощью html2canvas и вывести его как изображение на другом изображении. При запуске на моем локальном сервере рендеринг успешно инициализируется на основе console.info
118ms html2canvas: Canvas renderer initialized (1350x18 at 8,8) with scale 1
Но выходное изображение не добавляется к назначенному элементу div.
Любая помощь приветствуется!
ЯВАСКРИПТ
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>



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


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