最新的按比例压缩图片
/**/
/**
* 自动按比例压缩图片
* 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()...{}
}
* 自动按比例压缩图片
* 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" οnlοad="fixImage(this,120,60)"/>
2.图片只按高度比例压缩,或者只按高度比例压缩
<img src="test.jpg" οnlοad="fixImage(this,0,60)"/>
<img src="test.jpg" οnlοad="fixImage(this,120,0)"/>
3.不压缩,按原图显示
<img src="test.jpg" οnlοad="fixImage(this,0,0)"/>