개발

자바스크립트 - 이미지 리사이즈

애바른2 2009. 6. 22. 15:08

    1 <script language="javascript">

    2 <!--

    3 function resizeImg(imgObj) {

    4     // 이미지 별도 로딩으로 원래 사이즈 추출

    5     var maxHight=265;  // 최대 이미지 사이즈

    6     var maxWidth=320;  // 최대 이미지 사이즈

    7     var imgOriginal = new Image();

    8     imgOriginal.src = imgObj.src;

    9     // 가로와 세로 중 어느걸 기준으로 줄일지 결정

   10     if(imgOriginal.width >= maxWidth && imgOriginal.height >= maxHight ){

   11         var baseAxis;

   12         if ( (imgOriginal.width / maxWidth) > (imgOriginal.height / maxHight) ){

   13             baseAxis = 'width';

   14         }else{

   15             baseAxis = 'height';

   16         }

   17 

   18         // 결정된 기준을 바탕으로 나머지 길이를 리사이징

   19         if (baseAxis == 'width') { 

   20             imgObj.height = Math.round(imgOriginal.height *(maxWidth / imgOriginal.width));

   21             imgObj.width = Math.round(imgOriginal.width * (imgObj.height / imgOriginal.height));  

   22         }else{ // baseAxis == 'height' 

   23             imgObj.width = Math.round(imgOriginal.width * (maxHight / imgOriginal.height));

   24             imgObj.height = Math.round(imgOriginal.height *(imgObj.width / imgOriginal.width));

   25         }   

   26 

   27     }else if(imgOriginal.width >= maxWidth && imgOriginal.height < maxHight ){ 

   28         imgObj.width = maxWidth;

   29         imgObj.height = Math.round(imgOriginal.height *(maxWidth / imgOriginal.width)); 

   30 

   31     }else if(imgOriginal.width < maxWidth && imgOriginal.height >= maxHight ){

   32         imgObj.width = Math.round(imgOriginal.width * (maxHight / imgOriginal.height));       

   33         imgObj.height = maxHight; 

   34 

   35     }else{

   36         imgObj.height=imgOriginal.height;

   37         imgObj.width=imgOriginal.width;

   38     }

   39 }

   40 //-->

   41 </script>

   42 

   43 <table width="100%" border="0" cellspacing="1" cellpadding="0" bgcolor="#DDDDDD">

   44     <tr>

   45         <td height="310" bgcolor="#FFFFFF" align="center">

   46             <img src="이미지 경로" id="bg" name="imgsrc" onload="resizeImg(this);"></td>

   47     </tr>

   48 </table>