我有一個表單,允許用戶上傳圖像。縮放圖像以適應畫布
加載圖像後,我們會對其進行一些縮放以減少其文件大小,然後再將其傳回服務器。
要做到這一點,我們把它放在畫布上並在那裏操作。
此代碼將呈現縮放圖像在畫布上,隨着尺寸的畫布320×240像素:
ctx.drawImage(img, 0, 0, canvas.width, canvas.height)
...其中canvas.width和canvas.height是圖像的高度和寬度XA縮放基於原始圖像大小的因子。
但是當我去使用的代碼:
ctx.drawImage(img, 0, 0, canvas.width, canvas.height, 0, 0, canvas.width, canvas.height
......我只在畫布上獲得圖像的一部分,在這種情況下,左上角。儘管實際圖像尺寸大於320x240的畫布大小,我仍然需要「縮放」整個圖像以適應畫布。
因此,對於上面的代碼,寬度和高度是1142x856,因爲這是最終的圖像大小。我需要保持該大小,以便在提交表單時傳遞給服務器,但只需要在用戶的畫布上顯示較小的視圖。
我在這裏錯過了什麼?任何人都可以指出我正確的方向嗎?
非常感謝提前。
完美。非常感謝。 :) – dradd
這是完美的+1。快速點 - 你在'drawImage()'函數中缺少右括號。用我的強迫症一點點;) – Frits
@Frits大聲笑,我知道你的意思。增加:) – K3N