следующий код может быть использован в 2-х режимах, режим 1 сохранить HTML-код в образ, режим 2 сохранить HTML-код к холст.
этот код работать с библиотекой: https://github.com/tsayen/dom-to-image
* «id_div» является идентификатор элемента HTML, который вы хотите преобразовать.
** «canvas_out» - это идентификатор div, который будет содержать холст , попробуйте этот код. :
function Guardardiv(id_div){
var mode = 2 // default 1 (save to image), mode 2 = save to canvas
console.log("Process start");
var node = document.getElementById(id_div);
// get the div that will contain the canvas
var canvas_out = document.getElementById('canvas_out');
var canvas = document.createElement('canvas');
canvas.width = node.scrollWidth;
canvas.height = node.scrollHeight;
domtoimage.toPng(node).then(function (pngDataUrl) {
var img = new Image();
img.onload = function() {
var context = canvas.getContext('2d');
context.drawImage(img, 0, 0);
};
if (mode == 1){ // save to image
downloadURI(pngDataUrl, "salida.png");
}else if (mode == 2){ // save to canvas
img.src = pngDataUrl;
canvas_out.appendChild(img);
}
console.log("Process finish");
});
}
так, если вы хотите сохранить изображение просто добавить эту функцию:
function downloadURI(uri, name) {
var link = document.createElement("a");
link.download = name;
link.href = uri;
document.body.appendChild(link);
link.click();
}
Пример использования:
<html>
<head>
</script src="/dom-to-image.js"></script>
</head>
<body>
<div id="container">
All content that want to transform
</div>
<button onclick="Guardardiv('container');">Convert<button>
<!-- if use mode 2 -->
<div id="canvas_out"></div>
</html>
комментарий, если эту работу. Comenten si les sirvio :)
Я знаю, что здесь поздно, но это может быть полезно для будущего читателя. Вот пошаговое руководство по конвертации HTML в IMAGE http://codepedia.info/2016/02/convert-html-to-image-in-jquery-div-or-table-to-jpg-png –