현재 위치: > 최신 기사 목록> ImageGetClip과 imageCrop 함수와 응용 프로그램 시나리오의 차이점

ImageGetClip과 imageCrop 함수와 응용 프로그램 시나리오의 차이점

gitbox 2025-05-26

이미지 처리의 실제 개발에서 자르기는 일반적이고 필요한 작업입니다. 백엔드 개발을위한 중요한 언어 인 PHP는 여러 작물 관련 기능을 제공하며 가장 일반적으로 혼란스러운 두 가지는 ImageGetClip ()imageCrop () 입니다. 이 기사는 개발자가 특정 요구에 따라 적절한 이미지 자르기 방법을 선택할 수 있도록이 두 기능의 사용법, 기능적 차이 및 적용 가능한 시나리오를 철저히 비교할 것입니다.

1. 기본 소개

1. imageCrop ()

imageCrop () 는 PHP가 제공하는 표준 이미지 자르기 기능이며 PHP 5.5 이후에 소개되었습니다. 기본 목적은 주어진 이미지 리소스를 지정된 직사각형 영역으로 자르는 것입니다.

함수 정의 :

 resource imagecrop(resource $image, array $rect)

매개 변수 설명 :

  • $ 이미지 : 원본 이미지 리소스

  • $ rect : x , y , 너비 , 높이를 포함하여 자르기 영역을 정의하는 배열

샘플 코드 :

 $src = imagecreatefromjpeg('https://gitbox.net/images/sample.jpg');
$crop = imagecrop($src, ['x' => 100, 'y' => 50, 'width' => 200, 'height' => 100]);
if ($crop !== FALSE) {
    imagejpeg($crop, 'cropped.jpg');
}

2. ImageGetClip ()

ImageGetClip ()는 덜 참조하는 함수입니다. 실제로 이미지 컨텐츠를 "자르기"하는 데 사용되는 것이 아니라 현재 이미지 자원의 클리핑 사각형을 얻는 데 사용됩니다. 이 클리핑 영역은 이미지 그리기 작업의 범위를 제한하는 데 사용되며 드로잉 컨텍스트의 일부입니다.

함수 정의 :

 array imagegetclip(resource $im)

샘플 코드 :

 $im = imagecreatefrompng('https://gitbox.net/images/example.png');
$clip = imagegetclip($im);
print_r($clip);

출력은 다음과 같습니다.

 Array
(
    [x] => 0
    [y] => 0
    [width] => 400
    [height] => 300
)

이것은 현재 이미지의 도면 제한 영역이 (0,0)-(400,300)임을 나타냅니다.

2. 기능 비교

기능 imageCrop ImageGetClip
사용 실제로 이미지 영역을 자르고 새로운 이미지 리소스를 생성하십시오. 현재 도면 제한 영역을 얻으십시오 (이미지 컨텐츠 수정 없음)
이미지 컨텐츠 수정 여부 아니요
새 이미지를 생성할지 여부 아니요
소개 된 버전 PHP 5.5 PHP 5.6
실제 운영 사용 이미지 썸네일 생성, 사용자 아바타 자르기 등 그리기 전의 컨텍스트 설정 (imageClip과 결합)

3. 일반적인 오해 및 개발 제안

많은 개발자들은 ImageGetClip ()가 초보자 일 때 imageCrop () 와 같은 이미지를자를 수 있다고 잘못 생각합니다. 사실, 이것은 잘못된 이해입니다. ImageGetClip ()은 이미지 소재 자원의 도면 제한 영역을 설정하고 얻는 데 사용되는 ImageStclip () 와 더 관련이 있으며 실제 이미지 컨텐츠를 변경하지 않습니다.

요구 사항이 "이미지의 자르기 및 저장"인 경우 망설임없이 imageCrop ()를 사용하십시오. 그래픽 컨텍스트를 작업 중이거나 그래픽 도면 영역을 제어 해야하는 경우 ImageGetClip ()를 사용하는 것이 좋습니다.

4. 결론

일반적으로 imageCrop () 는 이미지의 일부를 처리하고 저장하는 데 사용되는 표준 작물 함수이며 ImageGetClip ()는 이미지 그리기 컨텍스트의 상태 정보를 얻는 데만 사용됩니다. 그들의 사용 차이를 이해하면 개발 프로세스의 혼란과 오류를 피할 수 있으며 PHP의 이미지 처리 기능을보다 효율적으로 사용할 수 있습니다.