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()과 함께 사용하면 현재 적용 중인 클리핑 영역을 손쉽게 확인할 수 있어, 이미지의 특정 부분만 그리거나 편집할 때 유용하게 활용할 수 있습니다.