图片等比例缩放

在Web上显示图片,通常都会有图片显示比例问题,如果不给<img />限制width和height,那么如果图片大了就会将整个页面挤乱,图片小了又会使图片失真。
????我的需求如下:
????????1、预先定义好图片显示的标准宽度和高度。
????????2、如果图片的大小超过了标准定义,那么等比例压缩图片。
????????3、如果图片的大小等于标准定义,那么按照标准宽度和高度显示图片。
????????4、如果图片的大小小于标准定义,那么不对图片进行任何压缩处理。
?

JavaScript代码
  1. function?DrawImage(ImgD,iwidth,iheight){ ??
  2. ????//参数(图片,允许的宽度,允许的高度) ??
  3. ????var?image=new?Image(); ??
  4. ????image.src=ImgD.src; ??
  5. ????if(image.width>0?&&?image.height>0){ ??
  6. ??????if(image.width/image.height>=?iwidth/iheight){ ??
  7. ??????????if(image.width>iwidth){?? ??
  8. ??????????????ImgD.width=iwidth; ??
  9. ??????????????ImgD.height=(image.height*iwidth)/image.width; ??
  10. ??????????}else{ ??
  11. ??????????????ImgD.width=image.width;?? ??
  12. ??????????????ImgD.height=image.height; ??
  13. ??????????} ??
  14. ??????}else{ ??
  15. ??????????if(image.height>iheight){?? ??
  16. ??????????????ImgD.height=iheight; ??
  17. ??????????????ImgD.width=(image.width*iheight)/image.height;???????? ??
  18. ??????????}else{ ??
  19. ??????????????ImgD.width=image.width;?? ??
  20. ??????????????ImgD.height=image.height; ??
  21. ??????????} ??
  22. ??????} ??
  23. ????} ??
  24. }??

调用:<img?src=”images/toplogo.gif”?onload=”javascript:DrawImage(this,100,100)”>

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

<img src=”/images/NullPic.gif” alt=”自动缩放后的效果” width=”200″ height=”200″?onload=”javascript:DrawImage(this,100,100)”?/>

赞(0) 打赏
未经允许不得转载:WEB前端开发 » 图片等比例缩放

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

前端开发相关广告投放 更专业 更精准

联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏