讓image最大化適應canvas的寬高

153 字
1 分鐘
讓image最大化適應canvas的寬高
2020-02-01
無標籤

取得canvas

var canvas = ctx.canvas;

設定比例並繪圖

var wRatio = canvas.width / img.width; //寬度比
var hRatio = canvas.height / img.height; //高度比
var ratio = Math.min(wRatio, hRatio); //min者,依寬高比小者為主,寬高比大者留白; max者,依寬高比大者為主,寬高比小者裁切
var shiftX = (canvas.width - img.width * ratio) / 2; //若此值不為0,表示有留白或虛裁切,左右區域應同寬
var shiftY = (canvas.height - img.height * ratio) / 2;//若此值不為0,表示有留白或虛裁切,上下區域應同高

設定至canvas上

ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.drawImage(img, 0,0, img.width, img.height, shiftX, shiftY,img.widthratio, img.heightratio);

文章分享

如果這篇文章對你有幫助,歡迎分享給更多人!

讓image最大化適應canvas的寬高
https://linziyou.info/posts/2020-02-01-讓image最大化適應canvas的寬高/
作者
Lin Ziyou
發布於
2020-02-01
許可協議
CC BY-NC-SA 4.0
最後更新於 2020-02-01,距今已過 2221 天

部分內容可能已過時

Profile Image of the Author
Lin Ziyou
Hi! I'm Jerry~
分類
標籤
站點統計
文章
45
分類
8
標籤
10
總字數
43,470
運作天數
0
最後活動
0 天前

目錄