动态改变图片大小来适应页面(转)

 

在网页中,如果一张图片大小超过图片容器页面元素大小,就会将页面撑得很难看。下面这段代码可以解决这个问题:

function picresize ( obj , MaxWidth , MaxHeight ){
    
obj . onload = null ;
    
img = new Image () ;
    
img . src = obj . src ;
    
if ( img . width > MaxWidth && img . height > MaxHeight ){
        
if ( img . width / img.height>MaxWidth / MaxHeight ) {
            
obj . height = MaxWidth * img . height / img.width;
              obj.width=MaxWidth;
          }else {
              obj.width=MaxHeight*img.width
/i mg . height ;
            
obj . height = MaxHeight ;
        
}
    
} else if ( img . width > MaxWidth ) {
        
obj . height = MaxWidth * img . height / img.width;
          obj.width=MaxWidth;
      }else if (img.height>MaxHeight) {
          obj.width=MaxHeight*img.width
/i mg . height ;
        
obj . height = MaxHeight ;
    
} else {
        
obj . width = img . width ;
        
obj . height = img . height ;
    
}
}


用法举例:

< img src = " http://php.4like.net/wp-content/themes/pg/images/logo.gif " onload = " picsize(this, 100,50); " />

程序分析:

1、如果图片的宽度和高度都比预设值大,并且图片的宽高比例比预设值的宽高比例大,就把图片的宽度置为预设值的宽度,高度置为 预设值宽度与图片高宽比例的乘积。
2、如果图片的宽度和高度都比预设值大,并且图片的宽高比例比预设值的宽高比例小或者相等,就把图片的高度置为预设值的高度,宽度置为 预设值高度与图片宽高比例的乘积。
3、如果图片的宽度大于预设值而高度小于等于预设值,就把图片的宽度置为预设值的宽度,高度置为 预设值宽度与图片高宽比例的乘积。
4、如果图片的高度大于预设值而宽度小于等于预设值,就把图片的高度置为预设值的高度,宽度置为 预设值高度与图片宽高比例的乘积。
5、如果图片的宽度和高度都比预设值小,就采用图片的原始大小。
6、经过上面的大小调整后,宽度和高度都比预设值小的图片,就采用图片的原始大小,其他大小均成比例缩放图片。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值