Próbuję utworzyć przycisk screengrab, który tworzy obraz użytkownika użytkownika document.body
.Zapisywanie html2canvas jako jpeg bez otwierania w przeglądarce
Idealnie użytkownik miałby wtedy opcję zapisania obrazu lokalnie jako .jpeg
.
Zbliża się do tworzenia potrzebnej funkcjonalności przy użyciu biblioteki html2canvas.
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 jest sprawne byłem otwierając zmienną img
w nowym oknie przeglądarki. Obraz nie renderuje się całkowicie i domyślam się, że to dlatego, że jego długość wynosi ponad 30 000 znaków.
Jak mogę lepiej dać użytkownikowi opcję zapisania płótna lokalnie po wydarzeniu onrendered
?
Hej Dandavis. Czy możesz napisać jsfiddle tego przykładu? – Fizzix
Dobry przykład, mimo że nie był testowany, teoretycznie wydaje się całkiem funkcjonalny. +1 –
Zakładam, że '' 'MSBlobBuilder''' kwalifikuje się tylko do IE, czy istnieje międzyplatformowy sposób na zrobienie tego? –