转自:http://hi.baidu.com/crystalhx/blog/item/deba9b2320274340ac34de09.html
图片自动缩放 js图片缩放
2008-03-27 10:48
图片自动缩放 js图片缩放
对于不指定大小的图片默认是以原大小显示,所以在不指定大小的图片上用onload事件触发脚本代码,在代码中判断图片的尺寸,如果超过指定值,将自动设置为允许的最大值。
具体步骤: 方法一:在图片加载完毕后用onload句柄触发执行脚本,重设图片的宽度为图片宽度和300两者的最小值。 代码示例: <img src="demo.gif" οnlοad="if(this.width>300)this.width=300"> 或者 <img src="demo.gif" οnlοad="this.width=Math.min(this.width,300)">
方法二:按比例缩小。只需要把js加在head之间,再在body处加入οnlοad="ResizeImages();"代码。 <script language="JavaScript"> <!-- function ResizeImages() { var myimg,oldwidth; var maxwidth=180; //缩放系数 for(i=0;i <document.images.length;i++){ myimg = document.images[i]; if(myimg.width > maxwidth) { oldwidth = myimg.width; myimg.width = maxwidth; myimg.height = myimg.height * (maxwidth/oldwidth); } } } //--> </script>
或
<script language="JavaScript"> <!-- //图片按比例缩放 var flag=false; function DrawImage(ImgD,iwidth,iheight){ //参数(图片,允许的宽度,允许的高度) var image=new Image(); image.src=ImgD.src; if(image.width>0 && image.height>0){ flag=true; if(image.width/image.height>= iwidth/iheight){ if(image.width>iwidth){ ImgD.width=iwidth; ImgD.height=(image.height*iwidth)/image.width; }else{ ImgD.width=image.width; ImgD.height=image.height; } ImgD.alt=image.width+"×"+image.height; } else{ if(image.height>iheight){ ImgD.height=iheight; ImgD.width=(image.width*iheight)/image.height; }else{ ImgD.width=image.width; ImgD.height=image.height; } ImgD.alt=image.width+"×"+image.height; } } } //--> </script>
调用:<img src="images/toplogo.gif" οnlοad="javascript:DrawImage(this,100,100)">
|