时间:2021-05-26
本文实例为大家分享了JS实现按比例缩小图片宽高的具体代码,供大家参考,具体内容如下
<!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; } //缩放后高度仍然大于最大高度继续按比例缩小 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>小编再为大家分享一段:图片按宽高比例进行自动缩放代码
/** * 图片按宽高比例进行自动缩放 * @param ImgObj * 缩放图片源对象 * @param maxWidth * 允许缩放的最大宽度 * @param maxHeight * 允许缩放的最大高度 * @usage * 调用:<img src="图片" onload="javascript:DrawImage(this,100,100)"> */function DrawImage(ImgObj, maxWidth, maxHeight){ var image = new Image(); //原图片原始地址(用于获取原图片的真实宽高,当<img>标签指定了宽、高时不受影响) image.src = ImgObj.src; // 用于设定图片的宽度和高度 var tempWidth; var tempHeight; if(image.width > 0 && image.height > 0){ //原图片宽高比例 大于 指定的宽高比例,这就说明了原图片的宽度必然 > 高度 if (image.width/image.height >= maxWidth/maxHeight) { if (image.width > maxWidth) { tempWidth = maxWidth; // 按原图片的比例进行缩放 tempHeight = (image.height * maxWidth) / image.width; } else { // 按原图片的大小进行缩放 tempWidth = image.width; tempHeight = image.height; } } else {// 原图片的高度必然 > 宽度 if (image.height > maxHeight) { tempHeight = maxHeight; // 按原图片的比例进行缩放 tempWidth = (image.width * maxHeight) / image.height; } else { // 按原图片的大小进行缩放 tempWidth = image.width; tempHeight = image.height; } } // 设置页面图片的宽和高 ImgObj.height = tempHeight; ImgObj.width = tempWidth; // 提示图片的原来大小 ImgObj.alt = image.width + "×" + image.height; }}以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例主要展示了.Net实现上传图片按比例自动缩小或放大的方法,是非常实用的功能。分享给大家供大家参考之用。具体方法如下:///////按比例缩小图片,自动计
刚开始使用DEDE不久,最初采集发现自动生成的缩略图片其实是根据自定义的最大长宽,原比例的缩小原图片,不利于图片索引页排版,不得已CSS里采用了自动判断调整高宽
复制代码代码如下:jQuery(document).ready(function(){$(window).load(functi
相比于ps,美图秀秀在等比例缩小图片上会更加方便。等比例缩小并不是裁剪图片,而是在保持原有图片所有内容的前提下缩小图片。等比例缩小图片有两个含义:一是缩小尺寸,
复制代码代码如下:/**Imagepreloadandautozoom*scaling是否等比例自动缩放*width图片最大高*height图片最大宽*load