У меня есть div - пусть назовем его «глобальным», - что внутри него у меня есть заголовок и две карты openlayer.
Я могу получить снимок глобального с помощью html2canvs следующим образом:
html2canvas(globalElement).then((canvas) => {
this.screenShot(canvas.toDataURL());
});
Но открытые слои на снимке выглядели как буксирный черный div, как это:
Я могу получить вид открытого слоя отдельно по этому коду:
this.map.once('rendercomplete', function(event) {
const canvas = event.context.canvas;
console.log(canvas.toDataURL()); // the open layer screen shot
});
this.map.renderSync();
Как я могу получитьвсе это вместе как один скриншот?
----- edit ----
С помощью @Mike я использую domtoImage, как в этом примере:
this.map.once('rendercomplete', function(event) {
domtoimage.toPng(globalElement)
.then((dataURL) => {
console.log(dataURL);
});
});
this.map.renderSync();
и я могу получить изображение всего div с картой открытого слоя.Возник новый вопрос: мат-иконки из углового материала не отображались должным образом с помощью domtoimage, они отображают имя значка, а не значок.Как я могу это исправить?