JavaScript,等比例缩放图片的函数,很好用。

 在Web上显示图片,通常都会有图片显示比例问题,如果不给<img />限制width和height,那么如果图片大了就会将整个页面挤乱,图片小了又会使图片失真。
    我的需求如下:
        1、预先定义好图片显示的标准宽度和高度。
        2、如果图片的大小超过了标准定义,那么等比例压缩图片。
        3、如果图片的大小等于标准定义,那么按照标准宽度和高度显示图片。
        4、如果图片的大小小于标准定义,那么不对图片进行任何压缩处理。
    可能是我搜索的关键字不对吧,在网上找了很长时间,才找到,感觉很好使。代码如下
None.gif < script language = " JavaScript " >
None.gif
<!--
None.gif
// 图片按比例缩放
None.gif
var flag = false ;
ExpandedBlockStart.gifContractedBlock.giffunction DrawImage(ImgD,iwidth,iheight)
dot.gif {
InBlock.gif    
//参数(图片,允许的宽度,允许的高度)
InBlock.gif
    var image=new Image();
InBlock.gif    image.src
=ImgD.src;
ExpandedSubBlockStart.gifContractedSubBlock.gif    
if(image.width>0 && image.height>0)dot.gif{
InBlock.gif    flag
=true;
ExpandedSubBlockStart.gifContractedSubBlock.gif    
if(image.width/image.height>= iwidth/iheight)dot.gif{
ExpandedSubBlockStart.gifContractedSubBlock.gif        
if(image.width>iwidth)dot.gif{  
InBlock.gif        ImgD.width
=iwidth;
InBlock.gif        ImgD.height
=(image.height*iwidth)/image.width;
ExpandedSubBlockStart.gifContractedSubBlock.gif        }
elsedot.gif{
InBlock.gif        ImgD.width
=image.width;  
InBlock.gif        ImgD.height
=image.height;
ExpandedSubBlockEnd.gif        }

InBlock.gif        ImgD.alt
=image.width+"×"+image.height;
ExpandedSubBlockEnd.gif        }

ExpandedSubBlockStart.gifContractedSubBlock.gif    
elsedot.gif{
ExpandedSubBlockStart.gifContractedSubBlock.gif        
if(image.height>iheight)dot.gif{  
InBlock.gif        ImgD.height
=iheight;
InBlock.gif        ImgD.width
=(image.width*iheight)/image.height;        
ExpandedSubBlockStart.gifContractedSubBlock.gif        }
elsedot.gif{
InBlock.gif        ImgD.width
=image.width;  
InBlock.gif        ImgD.height
=image.height;
ExpandedSubBlockEnd.gif        }

InBlock.gif        ImgD.alt
=image.width+"×"+image.height;
ExpandedSubBlockEnd.gif        }

ExpandedSubBlockEnd.gif    }

ExpandedBlockEnd.gif}
 
None.gif
// -->
None.gif
</ script >
None.gif调用:
< img src = " images/toplogo.gif "  onload = " javascript:DrawImage(this,100,100) " >

转载于:https://www.cnblogs.com/kingeric/archive/2007/01/01/609476.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值