html2canvas zapisuje jako plik JPEG bez otwierania w przeglądarce
Próbuję utworzyć przycisk ekranu, który tworzy obraz użytkownikadocument.body
.
W idealnej sytuacji użytkownik miałby opcję zapisania obrazu lokalnie jako.jpeg
.
Zbliżam się do stworzenia funkcjonalności, której potrzebuję, używająchtml2canvas biblioteka.
function screenGrabber() {
html2canvas([document.body], {
logging: true,
useCORS: true,
onrendered: function (canvas) {
img = canvas.toDataURL("image/jpg");
console.log(img.length);
console.log(img);
window.location.href=img; // it will save locally
}
});
}
Aby sprawdzić, czy to działa, otwierałemimg
zmienna w nowym oknie przeglądarki. Obraz nie jest renderowany całkowicie i domyślam się, że to dlatego, że ma ponad 30 000 znaków.
Jak mogę lepiej dać użytkownikowi opcję zapisania płótna lokalnie poonrendered
zdarzenie?