栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

图片的等比例缩放

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

图片的等比例缩放

    营业执照
    
        
            
        
        
            上传营业执照
            
        
        ×
    

上传图片后img标签展示出来,并等比例缩放,设置最大宽高为167,198;

     编写input上传事件,并显示预览图片。

$('#uloadBtn1').on('change', function () {
    var files = this.files[0];
    var objUrl = showPhoto(this.files[0]);
    if (objUrl) {
        $("#licenseImg").attr("src", objUrl);
        $('.info-input-wrap').addClass('bicense-wrap')
        $(this).parents('.license-btn').addClass('license-change');
    }
    var formData = new FormData();
    formData.append('file', $('#uloadBtn1')[0].files[0]); //添加图片信息的参数
})

编写图片预览方法

//头像预览
function showPhoto (file) {
    var url = null;
    if (window.createObjectURL != undefined) { // basic  
        url = window.createObjectURL(file);
    } else if (window.URL != undefined) { // mozilla(firefox)  
        url = window.URL.createObjectURL(file);
    } else if (window.webkitURL != undefined) { // webkit or chrome  
        url = window.webkitURL.createObjectURL(file);
    }
    return url;
}

以上实现了选择图片,再页面上预览。再图片加载时,根据图片大小来实现缩放,设置图片显示的大小。使用加载方法。

function DrawImage(ImgObj, maxWidth, maxHeight){
    //原图片原始地址(用于获取原图片的真实宽高,当标签指定了宽、高时不受影响)
    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){
            empWidth = 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;       
    }
}

因图片加载时调用该方法,DrawImage需要再放在最前。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/244713.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号