Tôi đang sử dụng html2canvas để biến API bản đồ javascript của google bằng các tính năng tùy chỉnh, thành canvas và sau đó là hình ảnh.Làm thế nào để cắt một hình ảnh/HTML canvas một nửa thông qua javascript?
Hoạt động tốt trên tất cả các trình duyệt, ngoại trừ trên IE 11 nó tạo ra một hình ảnh với khoảng trống thừa ở bên phải của hình ảnh, bằng với chiều rộng của cửa sổ trình duyệt - chiều rộng bản đồ. Vì vậy, cửa sổ của tôi càng rộng, càng có nhiều khoảng trống bên phải và ngược lại.
Làm cách nào để cắt hình ảnh này (hoặc HTMLcanvas) ở chính xác cạnh của hình ảnh thực tế (rộng 768px)?
tôi tìm thấy mã này ở đây nhưng không biết làm thế nào để sửa đổi nó cho công việc này:
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];
}
Có vẻ tuyệt vời. Tôi sẽ kiểm tra vào ngày mai khi tôi trở lại văn phòng và viết một bản cập nhật. Cảm ơn! – TetraDev
Đẹp được thực hiện, hoạt động hoàn hảo. Tôi sẽ thêm mã hoàn chỉnh của tôi sử dụng mã của bạn làm cơ sở. – TetraDev
Bạn có thể giải thích cho tôi lý do tại sao chúng tôi cần 'trả lại hình ảnh;' bên trong chức năng ẩn danh? Chính xác thì nó làm gì? Tôi vẫn đang cố gắng hiểu cách các giá trị trả về hoạt động bên trong các hàm ẩn danh được gọi ngay lập tức. – TetraDev