用 JavaScript 实现网页图片等比例缩放

在处理网页图片时,特别是一些图片列表的应用里面,很难保证图片统一大小,直接设置图片大小又会导致图片拉伸,造成图片模糊,本文介绍的代码可以在图片加载完成后自动按比例调整图片大小。

Javascript:

  1.  
  2. <script language="JavaScript" type="text/javascript">
  3. <!--
  4. function DrawImage(ImgD,FitWidth,FitHeight){
  5. var image=new Image();
  6. image.src=ImgD.src;
  7. if(image.width>0 && image.height>0){
  8. if(image.width/image.height>= FitWidth/FitHeight){
  9. if(image.width>FitWidth){
  10. ImgD.width=FitWidth;
  11. ImgD.height=(image.height*FitWidth)/image.width;
  12. }else{
  13. ImgD.width=image.width;
  14. ImgD.height=image.height;
  15. }
  16. } else{
  17. if(image.height>FitHeight){
  18. ImgD.height=FitHeight;
  19. ImgD.width=(image.width*FitHeight)/image.height;
  20. }else{
  21. ImgD.width=image.width;
  22. ImgD.height=image.height;
  23. }
  24. }
  25. }
  26. }
  27. //-->
  28. </script>

调用方式:
Code:


<img src="1148202890.jpg" alt="自动缩放后的效果" onload="javascript:DrawImage(this,200,200);" />



如果图片较大,建议在图片标签里面同时设置期望的图片大小,这样不会导致页面在加载中撑开,该大小不会影响最终缩放效果。可以修改上面的代码为:

Code:


<img src="1148202890.jpg" alt="自动缩放后的效果" width="200" height="200" onload="javascript:DrawImage(this,200,200);" />
posted @ 2008-10-09 11:21  Lee Vane  阅读(236)  评论(0编辑  收藏  举报