這期內(nèi)容當中小編將會給大家?guī)碛嘘P利用JavaScript實現(xiàn)圖片按比例縮小寬高,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

具體內(nèi)容如下
<!DOCTYPE html>
<html>
<head>
<title>JS 按比例縮小圖片寬高</title>
</head>
<body>
<div>
<input type="file" name="" id="upload">
<img src="" alt="" id="preview">
</div>
</body>
<script>
var upd =document.getElementById('upload');
upd.addEventListener('change',function(e){
var file=e.target.files[0];
var reader=new FileReader();
var img = document.createElement('img');
var canvas=document.createElement('canvas');
var context=canvas.getContext('2d');
reader.onload=function(e){
img.src = e.target.result;
img.onload = function () {
var imgWidth=this.width;//上傳圖片的寬
var imgHeight = this.height;//上傳圖片的高
//按比例縮放后圖片寬高
var targetWidth = imgWidth;
var targetHeight = imgHeight;
var maxWidth=1920;//圖片大寬
var maxHeight = 1080;//圖片大高
var scale = imgWidth / imgHeight;//原圖寬高比例
//如果原圖寬大于大寬度
if(imgWidth>maxWidth){
targetWidth = maxWidth;
targetHeight = targetWidth/scale;
}
//縮放后高度仍然大于大高度繼續(xù)按比例縮小
if(targetHeight>maxHeight){
targetHeight = maxHeight
targetWidth = targetHeight*scale;
}
canvas.width=targetWidth;//canvas的寬=圖片的寬
canvas.height=targetHeight;//canvas的高=圖片的高
context.clearRect(0,0,targetWidth,targetHeight)//清理canvas
context.drawImage(img,0,0,targetWidth,targetHeight)//canvas繪圖
var newUrl=canvas.toDataURL('image',0.92);//canvas導出成為base64
preview.src=newUrl
}
}
reader.readAsDataURL(file);
})
</script>
</html>
當前標題:利用JavaScript實現(xiàn)圖片按比例縮小寬高-創(chuàng)新互聯(lián)
URL網(wǎng)址:http://chinadenli.net/article46/dppjeg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、關鍵詞優(yōu)化、服務器托管、外貿(mào)建站、標簽優(yōu)化、域名注冊
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)