이미지 처리 및 GD imagecropauto

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

imagecropauto — 사용 가능한 모드 중 하나를 사용하여 자동으로 이미지 자르기


설명

imagecropauto(
    GdImage $image,
    int $mode = IMG_CROP_DEFAULT,
    float $threshold = 0.5,
    int $color = -1
): GdImage|false
                

주어진 mode에 따라 이미지를 자동으로 자릅니다.


매개변수

image
imagecreatetruecolor()와 같은 이미지 생성 함수 중 하나에서 반환되는 GdImage 객체.
mode
다음 상수 중 하나:
IMG_CROP_DEFAULT
IMG_CROP_TRANSPARENT와 동일합니다. PHP 7.4.0 이전에는 번들된 libgd가 이미지에 투명 색상이 없는 경우 IMG_CROP_SIDES로 대체되었습니다.
IMG_CROP_TRANSPARENT
투명한 배경을 자릅니다.
IMG_CROP_BLACK
검정색 배경을 자릅니다.
IMG_CROP_WHITE
흰색 배경을 자릅니다.
IMG_CROP_SIDES
이미지의 네 모서리를 사용하여 자를 배경을 감지합니다.
IMG_CROP_THRESHOLD
주어진 thresholdcolor을 사용하여 이미지를 자릅니다.
threshold
이미지 색상과 자를 색상을 비교하는 동안 사용할 허용 오차를 백분율로 지정합니다. 색상 차이를 계산하는 데 사용되는 메서드는 RGB(a) 큐브의 색상 거리를 기반으로 합니다.

IMG_CROP_THRESHOLD 모드에서만 사용됩니다.

참고: PHP 7.4.0 이전에는 번들 libgd가 다소 다른 알고리즘을 사용했기 때문에 동일한 threshold이 시스템 및 번들 libgd에 대해 다른 결과를 산출했습니다.

color
RGB 색상 값 또는 팔레트 인덱스입니다.

IMG_CROP_THRESHOLD 모드에서만 사용됩니다.


반환 값

성공 시 잘린 이미지 개체를 반환하고 실패 시 false를 반환합니다. 전체 이미지가 잘린 경우 imagecrop()false를 반환합니다.


변경 로그

버전 설명
8.0.0 image는 이제 GdImage 인스턴스를 예상합니다. 이전에는 리소스가 필요했습니다.
8.0.0 성공하면 이 함수는 이제 GdImage 인스턴스를 반환합니다. 이전에는 리소스가 필요했습니다.
7.4.0 번들 libgd의 imagecropauto() 동작이 시스템 libgd의 동작과 동기화되었습니다. IMG_CROP_DEFAULT는 더 이상 IMG_CROP_SIDES로 폴백하지 않으며 임계값 자르기는 이제 시스템 libgd와 동일한 알고리즘을 사용합니다.
7.4.0 mode의 기본값이 IMG_CROP_AUTO로 변경되었습니다. 이전에 기본값은 IMG_CROP_DEFAULT에 해당하는 -1이었지만 -1을 전달하는 것은 이제 더 이상 사용되지 않습니다.

Examples

예제 #1 자동 자르기의 적절한 처리

반환 값 섹션에서 언급했듯이 imagecropauto()는 전체 이미지가 잘린 경우 false를 반환합니다. 이 예에는 자를 것이 있는 경우에만 자동으로 잘려야 하는 $im 이미지 개체가 있습니다. 그렇지 않으면 원본 이미지로 진행하려고 합니다.

                  
<?php
$cropped = imagecropauto($im, IMG_CROP_DEFAULT);
if ($cropped !== false) { // in case a new image object was returned
    imagedestroy($im);    // we destroy the original image
    $im = $cropped;       // and assign the cropped image to $im
}
?>
                  
                

기타

  • imagecrop() - 주어진 사각형으로 이미지 자르기