Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP imagegetclip() 함수로 클리핑 사각형 좌표 가져오는 방법

imagegetclip()은 PHP에 내장된 함수로, 현재 설정되어 있는 클리핑 사각형(clipping rectangle) 정보를 가져올 때 사용됩니다. 클리핑 사각형이란 이미지 작업 시 해당 범위를 벗어나는 픽셀은 더 이상 그려지지 않도록 제한하는 영역을 의미합니다.

문법(Syntax)

array imagegetclip(resource $image)

매개변수(Parameters)

imagegetclip() 함수는 단 하나의 매개변수 $image만 받습니다. 이 매개변수에는 imagecreatetruecolor(), imagecreate() 등 이미지 생성 함수가 반환한 이미지 리소스가 들어갑니다.

반환 값(Return Value)

imagegetclip() 함수는 클리핑 사각형의 왼쪽 위 꼭짓점(x, y)과 오른쪽 아래 꼭짓점(x, y) 좌표를 담고 있는 인덱스 배열을 반환합니다. 배열의 각 인덱스는 다음과 같은 의미를 가집니다.

  • [0]: 왼쪽 위 x 좌표
  • [1]: 왼쪽 위 y 좌표
  • [2]: 오른쪽 아래 x 좌표
  • [3]: 오른쪽 아래 y 좌표

예제 1: imagesetclip()으로 설정한 클리핑 영역 확인하기

<?php
   $img = imagecreate(200, 200);

   // 이미지 클립(클리핑 영역) 설정
   imagesetclip($img, 20, 20, 90, 90);
   print_r(imagegetclip($img));
?>

위 코드에서는 200×200 크기의 빈 이미지를 생성한 뒤, imagesetclip() 함수로 (20, 20)부터 (90, 90)까지의 클리핑 영역을 지정했습니다. imagegetclip()을 호출하면 설정된 값이 그대로 출력됩니다.

실행 결과

Array (
   [0] => 20
   [1] => 20
   [2] => 90
   [3] => 90
)

예제 2: 불러온 이미지의 기본 클리핑 영역 확인하기

<?php
   // 로컬 드라이브 폴더에서 PNG 이미지 불러오기
   $img = imagecreatefrompng('C:\xampp\htdocs\Images\img34.png');
   print("<pre>" . print_r(imagegetclip($img), true) . "</pre>");
?>

이미지 파일을 새로 불러온 경우에는 별도로 클리핑 영역을 설정하지 않았다면 기본값이 반환됩니다. 아래 결과에서 볼 수 있듯이, 611×395 크기의 이미지는 전체 영역이 클리핑 범위로 설정되어 있습니다.

실행 결과

Array
(
   [0] => 0
   [1] => 0
   [2] => 611
   [3] => 395
)

이처럼 imagegetclip() 함수는 imagesetclip()과 함께 사용하면 현재 적용 중인 클리핑 영역을 손쉽게 확인할 수 있어, 이미지의 특정 부분만 그리거나 편집할 때 유용하게 활용할 수 있습니다.