팁&유틸이미지 비율 유지 축소

공수래 2024.02.11 08:47 조회 수 : 57


 

이미지 게시판 개발할 때 썸네일을 생성해야 하는 경우가 있습니다.

 

이미지 비율을 유지하면서 축소하는 방법을 PHP 소스를 통해서 알아보겠습니다.

 

우선 이미지가 가로형인지 세로형인지에 따라서 크기가 큰 값을 기준으로 비율에 맞게 축소하는 방법입니다. 소스상에서는 가로와 세로의 최대값이 있고, 최대값보다 클 경우에만 축소시키고 작을 경우에는 원본 이미지를 그대로 사용합니다.

 

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

<?

  define('__Limit_Width',300);  // 원하는 가로길기 limit값 

  define('__Limit_Height',200); // 원하는 세로길기 limit값

  // $img는 이미지의 경로(예:./images/phplove.gif) 

  $imgsize = getimagesize($img); 

  if($imgsize[0]>__Limit_Width || $imgsize[1]>__Limit_Height) { 

  // 가로길이가 가로limit값보다 크거나 세로길이가 세로limit보다 클경우 

        if($imgsize[0]<$imgsize[1]) { 

        // 가로가 세로보다 클경우 

                $sumw = (100*__Limit_Height)/$imgsize[1]; 

                $img_width = ceil(($imgsize[0]*$sumw)/100); 

                $img_height = __Limit_Height; 

        } else { 

        // 세로가 가로보다 클경우 

                $sumh = (100*__Limit_Width)/$imgsize[0]; 

                $img_height = ceil(($imgsize[1]*$sumh)/100); 

                $img_width = __Limit_Width; 

        } 

  } else { 

  // limit보다 크지 않는 경우는 원본 사이즈 그대로..... 

        $img_width = $imgsize[0]; 

        $img_height = $imgsize[1]; 

  } 

?>

<img src='$img' border='0' width='$img_width' height='$img_height'>

cs

 

 

구글에서 검색해보면 더 좋은 소스들이 많이 있을 수 있습니다. 저도 어디서 가져온 소스인데 개인 보관용으로 작성하였으나 필요한 분들에게 공유하는 것도 좋을 것 같아 공개로 포스팅 합니다.

출처: https://proger.tistory.com/entry/PHP-이미지-비율-유지-축소 [Leben Revolutionär:티스토리]

  • 인기글
  • 최근글
  • 최근댓글