![](test.jpg)
用法如下:
1. 图片按比例压缩为120 X 60宽度,范围之内的图片不压缩
2.图片只按高度比例压缩,或者只按高度比例压缩
3.不压缩,按原图显示
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
/**//**//**//**
* 自动按比例压缩图片
* i--图片对象
* w--最大宽度
* h--最大高度
*/
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
function fixImage(i,w,h)![](https://www.cnblogs.com/Images/dot.gif)
{
var ow = i.width;
var oh = i.height;
var rw = w/ow;
var rh = h/oh;
var r = Math.min(rw,rh);
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
if (w ==0 && h == 0)![](https://www.cnblogs.com/Images/dot.gif)
{
r = 1;
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
}else if (w == 0)![](https://www.cnblogs.com/Images/dot.gif)
{
r = rh<1?rh:1;
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
}else if (h == 0)![](https://www.cnblogs.com/Images/dot.gif)
{
r = rw<1?rw:1;
}
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
if (ow!=0 && oh!=0)![](https://www.cnblogs.com/Images/dot.gif)
{
i.width = ow * r;
i.height = oh * r;
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
}else![](https://www.cnblogs.com/Images/dot.gif)
{
var __method = this, args = $A(arguments);
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
window.setTimeout(function() ![](https://www.cnblogs.com/Images/dot.gif)
{
fixImage.apply(__method, args);
}, 200);
}
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
i.onload = function()![](https://www.cnblogs.com/Images/dot.gif)
{}
}
用法如下:
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)"/>