這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)利用JavaScript實(shí)現(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導(dǎo)出成為base64 preview.src=newUrl } } reader.readAsDataURL(file); }) </script> </html>
當(dāng)前標(biāo)題:利用JavaScript實(shí)現(xiàn)圖片按比例縮小寬高-創(chuàng)新互聯(lián)
URL網(wǎng)址:http://jinyejixie.com/article46/dppjeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、關(guān)鍵詞優(yōu)化、服務(wù)器托管、外貿(mào)建站、標(biāo)簽優(yōu)化、域名注冊(cè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)