현재 위치: > 최신 기사 목록> imageColorResolve ()

imageColorResolve ()

M66 2025-06-23

PHP의 이미지 처리 분야에서 ImageColorResolve ()는 이미지에서 주어진 RGB 값에 가장 가까운 지정된 색상을 찾는 데 사용되는 매우 실용적인 기능입니다. 정확히 일치하는 색상을 찾을 수없는 경우 PHP는 가장 가까운 색상을 자동으로 선택합니다. 이것은 이미지 합성, 색상 일치 및 최적화 된 성능을 다룰 때 특히 중요합니다.

함수 정의

 int imagecolorresolve(GdImage $image, int $red, int $green, int $blue)
  • $ 이미지 : imageCreate () 또는 imageCreatetRueColor () 와 같은 이미지 리소스.

  • $ RED , $ GREEN , $ BLUE : 일치하는 색상의 빨간색, 녹색 및 파란색 구성 요소, 값 범위는 0-255입니다.

이 함수는 이미지의 후속 도면 또는 처리에 대한 색 인덱스 값을 반환합니다.

사용의 예

다음은 기본 사용 사례가 있습니다. 이미지를 만들고 사각형을 그립니다. 사각형 색상은 지정된 RGB 값과 최대한 많이 일치해야합니다.

 <?php
// 넓은 것을 만듭니다 200px,높은 100px 빈 이미지
$image = imagecreate(200, 100);

// 이미지 배경에 흰색을 할당하십시오
$white = imagecolorallocate($image, 255, 255, 255);

// 밝은 파란색에 가까운 색상을 찾으려고합니다
$blueApprox = imagecolorresolve($image, 100, 149, 237);

// 발견 된 색상을 사용하여 사각형을 그립니다
imagerectangle($image, 50, 25, 150, 75, $blueApprox);

// 브라우저에 이미지를 출력합니다
header('Content-Type: image/png');
imagepng($image);

// 무료 메모리
imagedestroy($image);
?>

위의 예에서는 이미지가 흰색 배경으로만 시작하지만 PHP는 imageColorResolve ()를 사용하여 연한 파란색 (RGB 100,149,237)을 찾을 때 가장 가까운 색 인덱스를 자동으로 할당합니다. 더 많은 색상 옵션을 제어하려면 imageColorAllocate ()를 사용하여 더 많은 색상을 미리 할당 할 수 있습니다.

응용 프로그램 시나리오

  • 색상 대략 일치 : 예를 들어 팔레트 이미지 (팔레트 기반 이미지)에서 이미지 색상 팔레트가 제한되면 imageColorResolve ()는 가까운 색상을 찾을 수 있습니다.

  • 최적화 된 성능 : 특히 많은 픽셀의 빠른 처리가 필요한 응용 분야에서 새로운 색상을 직접 할당하는 것보다 기존 색상 색인을 더 빨리 찾습니다.

  • 호환성 처리 : 일부 구식 또는 낮은 색상의 어두운 환경에서 imagecolorresolve ()는 필수 도구입니다.

주목해야 할 것

  • 이미지가 imageCreatetRueColor () 를 사용하여 생성 된 진정한 색상 이미지 인 경우, imageColorAllocate ()를 사용해야합니다. 실제 색상 이미지는 팔레트를 사용하지 않으므로 imageColorResolve () 의 효과가 제한되어 있습니다.

  • 색상이 없으면 PHP는 내부적으로 새 색상 색인을 자동으로 할당하지만 팔레트가 가득 차면 (최대 256 개의 색상) 실패 할 수 있습니다.

관련 리소스