您的位置:首页 > Web前端 > JavaScript

最新Javascript按比例压缩图片,解决onload无法读取图片的高度和宽度问题

2007-12-25 16:24 796 查看
最新的按比例压缩图片




/**//**


 * 自动按比例压缩图片


 * i--图片对象


 * w--最大宽度


 * h--最大高度


 */




function fixImage(i,w,h)...{


  var ow = i.width;


    var oh = i.height;


    var rw = w/ow;


    var rh = h/oh;


    var r = Math.min(rw,rh);




    if (w ==0 && h == 0)...{


        r = 1;




    }else if (w == 0)...{


        r = rh<1?rh:1;




    }else if (h == 0)...{


        r = rw<1?rw:1;


    }




    if (ow!=0 && oh!=0)...{


    i.width = ow * r;


      i.height = oh * r;




    }else...{


      var __method = this, args = $A(arguments);




        window.setTimeout(function() ...{


          fixImage.apply(__method, args);


        }, 200);


    }




    i.onload = function()...{}


}

用法如下:

1. 图片按比例压缩为120 X 60宽度,范围之内的图片不压缩
<img src="test.jpg" onload="fixImage(this,120,60)"/>

2.图片只按高度比例压缩,或者只按高度比例压缩
<img src="test.jpg" onload="fixImage(this,0,60)"/>
<img src="test.jpg" onload="fixImage(this,120,0)"/>

3.不压缩,按原图显示
<img src="test.jpg" onload="fixImage(this,0,0)"/>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript function