這期內(nèi)容當中小編將會給大家?guī)碛嘘P利用JavaScript實現(xiàn)圖片按比例縮小寬高,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
站在用戶的角度思考問題,與客戶深入溝通,找到柳河網(wǎng)站設計與柳河網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設計與互聯(lián)網(wǎng)技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站設計、網(wǎng)站建設、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名與空間、虛擬主機、企業(yè)郵箱。業(yè)務覆蓋柳河地區(qū)。具體內(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://aaarwkj.com/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)