Używam html2canvas do przekształcania interfejsu API map javascript google z niestandardowymi funkcjami w płótno, a następnie obraz.Jak wyciąć obraz/płótno HTML na pół przez javascript?
Działa dobrze we wszystkich przeglądarkach, z wyjątkiem IE 11 generuje obraz z dodatkową pustą przestrzenią po prawej stronie obrazu, równą szerokości okna przeglądarki (szerokość mapy). Im szersze jest moje okno, tym więcej miejsca po prawej i odwrotnie.
Jak mogę podzielić ten obraz (lub HTMLcanvas) dokładnie na krawędź rzeczywistego obrazu (szerokość 768 pikseli)?
znalazłem ten kod tutaj, ale nie wiem, jak zmodyfikować go do tego zadania:
var image = new Image();
image.onload = cutImageUp;
image.src = 'myimage.png';
function cutImageUp() {
var imagePieces = [];
for(var x = 0; x < numColsToCut; ++x) {
for(var y = 0; y < numRowsToCut; ++y) {
var canvas = document.createElement('canvas');
canvas.width = widthOfOnePiece;
canvas.height = heightOfOnePiece;
var context = canvas.getContext('2d');
context.drawImage(image, x * widthOfOnePiece, y * heightOfOnePiece, widthOfOnePiece, heightOfOnePiece, 0, 0, canvas.width, canvas.height);
imagePieces.push(canvas.toDataURL());
}
}
// imagePieces now contains data urls of all the pieces of the image
// load one piece onto the page
var anImageElement = document.getElementById('myImageElementInTheDom');
anImageElement.src = imagePieces[0];
}
Wygląda świetnie. Przetestuję to jutro, kiedy wrócę do biura i napiszę aktualizację. Dzięki! – TetraDev
Pięknie wykonane, działa idealnie. Dodam mój kompletny kod, który wykorzystuje twoją jako bazę. – TetraDev
Czy możesz mi wyjaśnić, dlaczego potrzebujemy "zwrócić obraz" w anonimowej funkcji? Co dokładnie to robi? Nadal próbuję zrozumieć, w jaki sposób zwracane wartości działają wewnątrz anonimowych funkcji, które są natychmiast wywoływane. – TetraDev