首页 > 语言 > JavaScript > 正文

图片自动缩放 js图片缩放

2024-05-06 16:09:23
字体:大 中 小
来源:转载
供稿:网友
图片自动缩放 js图片缩放

对于不指定大小的图片默认是以原大小显示,所以在不指定大小的图片上用onload事件触发脚本代码,在代码中判断图片的尺寸,如果超过指定值,将自动设置为允许的最大值。

具体步骤:
方法一:在图片加载完毕后用onload句柄触发执行脚本,重设图片的宽度为图片宽度和300两者的最小值。
代码示例: <img src="demo.gif" onload="if(this.width>300)this.width=300">
或者
<img src="demo.gif" onload="this.width=Math.min(this.width,300)">

方法二:按比例缩小。只需要把js加在head之间,再在body处加入onload="ResizeImages();"代码。
  1. <script language="JavaScript"> 
  2. <!-- 
  3. function ResizeImages() 
  4. { 
  5. var myimg,oldwidth; 
  6. var maxwidth=180; //缩放系数 
  7. for(i=0;i <document.images.length;i++){ 
  8. myimg = document.images[i]; 
  9. if(myimg.width > maxwidth) 
  10. { 
  11. oldwidth = myimg.width; 
  12. myimg.width = maxwidth; 
  13. myimg.height = myimg.height * (maxwidth/oldwidth); 
  14. } 
  15. } 
  16. } 
  17. //--> 
  18. </script> 
  19.  
  20. 或 
  21.  
  22. <script language="JavaScript"> 
  23. <!-- 
  24. //图片按比例缩放 
  25. var flag=false; 
  26. function DrawImage(ImgD,iwidth,iheight){ 
  27. //参数(图片,允许的宽度,允许的高度) 
  28. var image=new Image(); 
  29. image.src=ImgD.src; 
  30. if(image.width>0 && image.height>0){ 
  31. flag=true; 
  32. if(image.width/image.height>= iwidth/iheight){ 
  33. if(image.width>iwidth){ 
  34. ImgD.width=iwidth; 
  35. ImgD.height=(image.height*iwidth)/image.width; 
  36. }else{ 
  37. ImgD.width=image.width; 
  38. ImgD.height=image.height; 
  39. } 
  40. ImgD.alt=image.width+"×"+image.height; 
  41. } 
  42. else{ 
  43. if(image.height>iheight){ 
  44. ImgD.height=iheight; 
  45. ImgD.width=(image.width*iheight)/image.height; 
  46. }else{ 
  47. ImgD.width=image.width; 
  48. ImgD.height=image.height; 
  49. } 
  50. ImgD.alt=image.width+"×"+image.height; 
  51. } 
  52. } 
  53. } 
  54. //--> 
  55. </script> 


调用:<img src="images/toplogo.gif" onload="javascript:DrawImage(this,100,100)">
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选