У меня есть HTML-div с внешними изображениями. (Ниже приведен пример, но в фактическом случае я использую Amazon S3, поэтому загрузка и сохранение изображения на том же сервере не является вариантом). В настоящее время я использую html2canvas, чтобы преобразовать div в изображение. Однако внешнее изображение всегда заменяется пустым пространством.
Код, который я использую для захвата изображения:
$(function() {
$("#btnSave").click(function() {
html2canvas($("#widget"), {
onrendered: function(canvas) {
theCanvas = canvas;
document.body.appendChild(canvas);
// Convert and download as image
Canvas2Image.saveAsPNG(canvas);
$("#img-out").append(canvas);
}
});
});
});
Отредактировано: jsfiddle: https://jsfiddle.net/0y2zxxL8/3/
Я могу использовать другую библиотеку. Я также могу сделать это в бэкэнд. (Я использую PHP + laravel 5 для бэкэнд) Есть ли способ создать "скриншот" HTML-div с внешними изображениями?
Обновление. Текущий ответ работает после редактирования. Тем не менее, для моего фактического использования будет много изображений с их позицией, заданной пользователем путем перетаскивания. Я все еще могу получить позицию, но мне было бы лучше, если бы можно было не задавать позицию конкретно.