imagecropauto() 함수란?
imagecropauto()는 PHP에 내장된 함수로, 제공되는 여러 크롭 모드 중 하나를 선택하여 이미지를 자동으로 잘라내는(크롭하는) 기능을 수행합니다.
문법
resource imagecropauto(resource $image, int $mode, float $threshold, int $color)
매개변수
imagecropauto() 함수는 $image, $mode, $threshold, $color 네 가지 매개변수를 받습니다.
$image – 잘라낼 대상이 되는 이미지 리소스를 지정합니다.
$mode – 선택적 매개변수로, 크롭 모드에 해당하는 정숫값을 지정합니다. 사용 가능한 크롭 모드는 다음과 같습니다.
IMG_CROP_DEFAULT – IMG_CROP_TRANSPARENT 모드와 동일하게 동작합니다.
IMG_CROP_TRANSPARENT – 투명한 배경 영역을 잘라냅니다.
IMG_CROP_BLACK – 검은색 배경 영역을 잘라냅니다.
IMG_CROP_WHITE – 흰색 배경 영역을 잘라냅니다.
IMG_CROP_SIDES – 이미지의 네 모서리 픽셀을 분석하여 잘라낼 배경을 자동으로 감지합니다.
IMG_CROP_THRESHOLD – 지정된 임계값(threshold)과 색상을 기준으로 이미지를 잘라냅니다.
$threshold – 선택적 매개변수로, 이미지 색상과 잘라낼 기준 색상을 비교할 때 적용할 허용 오차(%)를 지정합니다.
$color – 선택적 매개변수로, RGB(Red, Green, Blue) 색상 값 또는 팔레트 인덱스를 지정합니다.
반환 값
imagecropauto()는 성공 시 잘라낸 이미지 리소스를 반환하고, 실패 시 false를 반환합니다. 또한 이미지 전체가 크롭 대상에 해당하는 경우에도 false를 반환합니다.
예제 1
<?php
// 로컬 드라이브 폴더에서 이미지 불러오기
$img = imagecreatefromjpeg('C:\xampp\htdocs\Images\img33.jpg');
// 이미지의 여분의 흰색 영역 잘라내기
$cropped = imagecropauto($img, IMG_CROP_WHITE);
// 결과 이미지 출력
header('Content-type: image/gif');
imagepng($cropped);
?>
실행 결과
IMG_CROP_WHITE 모드 적용 전 – 이미지 주변에 흰색 여백이 있는 상태:

IMG_CROP_WHITE 모드 적용 후 – 이미지 측면의 흰색 영역이 잘려나간 상태:

참고 사항
위 예제 외에도 다양한 모드를 상황에 맞게 활용할 수 있습니다. 예를 들어 IMG_CROP_BLACK 모드를 사용하면 이미지에서 검은색 배경 부분을 잘라낼 수 있으며, 배경색이 일정하지 않은 이미지에는 IMG_CROP_THRESHOLD 모드와 임계값 조합이 효과적입니다.