关闭

按比例自动缩放图片的大小

标签: jsp
406人阅读 评论(0) 收藏 举报

1、简单的按比例缩放图片:

    设置好图片的宽度,图片就会自动缩放高度。比如:<img src="http://img93.pp.sohu.com/images/blog/2006/10/21/17/7/10efe26831e.jpg" onload='javascript:if(this.width>180)this.width=180' alt="用户头像" />

或者:

if(width>164){
   imgObj.width=164;
   imgObj.height=imgObj.height/(imgObj.width/164);
 }

    缺点就是不能控制高度。

2、完全可控制的按比例缩放图片:

    function ResizeImage(obj, MaxW, MaxH) {

if (obj != null) imageObject = obj;

var state=imageObject.readyState;

if(state!='complete') {

setTimeout("ResizeImage(null,"+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 oncontextmenu="return false;" id="photoImg" name="photoImg" src="images/images.gif" onclick="openPicWin(this.src)" onload="ResizeImage(this,400,253);">

    ResizeImage(this,400,253)调用中 this是图片的路径,400和253分别是自己设定的宽度和高度。如果宽度<400,高度<253,图片就显示原来的大小。相反如果图片宽度>400图片宽度就缩小到400,这个时候如果高度>253图片会继续按比例缩放,直到进入到400和253的范围之内。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:13035次
    • 积分:244
    • 等级:
    • 排名:千里之外
    • 原创:7篇
    • 转载:24篇
    • 译文:0篇
    • 评论:0条
    文章分类