javascript實現圖片等比例縮放代碼

來源:互聯網
上載者:User
 代碼如下 複製代碼

//設定圖片自動調整 
function   SetImgSize(pimg,iw,ih)   {   //pimg對象,iw縮圖寬度,ih縮圖高度 
  var   img   =   new   Image();  
  img.src = pimg.src;    
  var   w   =   iw;    
  var   h   =   ih;    
   
 if(img.width>0 && img.height>0) 
  {    
  if(img.width>iw||img.height>ih) 
  { 
    if((iw   /   ih)   >   (img.width   /   img.height))    
    {    
   h =  ih;    
  w   =   img.width   *   (ih   /   img.height);    
   }    
    else    
    {    
    w   =   iw;    
     h   =   img.height   *   (iw   /   img.width);    
    }    
   } 
  else 
  { 
  w = img.width; 
  h = img.height; 
  } 
  } 
   
  pimg.width=w;    
  pimg.height=h;    
  pimg.style.display="";   

調用相當簡單

 代碼如下 複製代碼
<img width="150" height="110" src="<?php echo $pic;?>" onload="SetImgSize(this,150,110)" />

直接調用便可


css代碼

 

 代碼如下 複製代碼
.thumbimg { max-width: 530px; max-height: 530px; }/* for firefox & ie7 */
* html .thumbimg {width: expression(this.width > 530 && this.width > this.height ? "530px" :auto); height:expression(this.height >530 ? "530px":auto);}/* for ie6

方法二

 代碼如下 複製代碼

img {
width:expression(this.offsetwidth>160 ? 160 : true); /*自行修改圖片寬度*/
height:expression(this.offsetheight>180 ? 180 : true); /*自行修改圖片高度*/
}


js整個頁面都自動等比例縮放

 代碼如下 複製代碼

<script language="javascript" type="text/javascript">   
function DrawImage()   
{   
    var FitWidth = 200,FitHeight = 200;  
   var ImgD = document.getElementById('Image1'); 
  var image = new Image();  

   image.src=ImgD.src;  
    if(image.width>0 && image.height>0)  
   {   
        if(image.width/image.height>= FitWidth/FitHeight)  
    {   
          if(image.width>FitWidth)   
          {   
               ImgD.width=FitWidth;   
                ImgD.height=(image.height*FitWidth)/image.width;   
            }   
            else   
            {   
              ImgD.width=image.width;   
                ImgD.height=image.height;   
            }   
        }   
        else  
       {   
            if(image.height>FitHeight) 
    {   
                ImgD.height=FitHeight;   
                ImgD.width=(image.width*FitHeight)/image.height;   
            }   
            else  
   {   
               ImgD.width=image.width;   
                ImgD.height=image.height;   
           }   
       }   
    }   
}   
 
DrawImage();  
</script> 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.