本文实例讲述了JS实现按比例缩放图片的方法。分享给大家供大家参考,具体如下:
js版本:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
function
resizeImage(obj, MaxW, MaxH)
{
var
imageObject = obj;
var
state = imageObject.readyState;
if
(state!=
'complete'
)
{
setTimeout(
"resizeImage("
+imageObject+
","
+MaxW+
","
+MaxH+
")"
,50);
return
;
}
var
oldImage =
new
Image();
oldImage.src = imageObject.src;
var
dW = oldImage.width;
var
dH = oldImage.height;
if
(dW>MaxW || dH>MaxH)
{
a = dW/MaxW; b = dH/MaxH;
if
( b>a ) a = b;
dW = dW/a; dH = dH/a;
}
if
(dW > 0 && dH > 0)
{
imageObject.width = dW;
imageObject.height = dH;
}
}
|
使用很简单:<img src="../pic.jpg" οnlοad='resizeImage(this,60,90)> 就OK了;
注:等比例放缩的时候会出现抖动的情况,处理方法很简单,你在img的属性先设置它的widht和height,这样的话加载的时候绝对不会超过这个尺寸,等你js运行好之后就会调到你所规定的比例,绝对不会以下撑到很大。