JS等比例缩放图片

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;
                }
            }
        }

 优化以后

 

function DrawImage(ImgD, iwidth, iheight) {
             var image =  new Image();
            image.src = ImgD.src;
             if (image.width > 0 && image.height > 0) 
            {             
                 if (image.width / iwidth  > image.height / iheight) {
                     if (image.width > iwidth) 
                    {
                        ImgD.width = iwidth;
                        ImgD.height = image.height * iwidth / image.width;
                    }  else 
                    {
                        ImgD.width =  iwidth;
                        ImgD.height = image.height * image.width / iwidth;
                    }                    
                }
                 else  if(image.width / iwidth  < image.height / iheight)
                {
                     if (image.height > iheight) 
                    {
                        ImgD.height = iheight;
                        ImgD.width = image.width * iheight / image.height;
                    }  else 
                    {
                        ImgD.height= image.width;
                        ImgD.width = image.width * image.height / iheight
                    }                   
                } else
                {
                    ImgD.width = iwidth;
                    ImgD.height = iheight;
                }
            }
        }

 

 

转载于:https://www.cnblogs.com/mxw09/archive/2011/05/23/2054802.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值