Tôi có một biểu mẫu cho phép người dùng tải lên hình ảnh.Chia tỷ lệ hình ảnh để vừa với canvas
Sau khi hình ảnh được tải, chúng tôi thực hiện một số mở rộng trên nó để giảm kích thước của nó trước khi chúng tôi chuyển nó trở lại máy chủ.
Để làm điều này, chúng tôi đặt nó trên vải và thao tác ở đó.
Mã này sẽ làm cho hình ảnh thu nhỏ trên vải, với bạt kích thước 320 x 240px:
ctx.drawImage(img, 0, 0, canvas.width, canvas.height)
... nơi canvas.width và canvas.height là chiều cao và chiều rộng xa rộng yếu tố dựa trên kích thước của hình ảnh gốc.
Nhưng khi tôi đi đến sử dụng mã:
ctx.drawImage(img, 0, 0, canvas.width, canvas.height, 0, 0, canvas.width, canvas.height
... Tôi chỉ nhận được một phần của hình ảnh trên vải, trong trường hợp này góc trên bên trái. Tôi cần toàn bộ hình ảnh được thu nhỏ để vừa với canvas, mặc dù kích thước hình ảnh thực tế lớn hơn kích thước canvas 320x240.
Vì vậy, đối với mã ở trên, chiều rộng và chiều cao là 1142x856, vì đó là kích thước hình ảnh cuối cùng. Tôi cần phải duy trì kích thước đó để chuyển thông tin về máy chủ khi biểu mẫu được gửi, nhưng chỉ muốn một chế độ xem nhỏ hơn xuất hiện trong canvas cho người dùng.
Tôi thiếu gì ở đây? Mọi người có thể chỉ tôi một cách đàng hoàng được không nào?
Rất cám ơn trước.
Perfect. Rất rất cảm ơn. :) – dradd
Điều này hoàn hảo, +1. Điểm nhanh - bạn đang thiếu dấu ngoặc đóng trên hàm 'drawImage()'. Lộn xộn với OCD của tôi một chút;) – Frits
@Frits lol, tôi biết ý bạn là gì. Đã thêm :) – K3N