현재 위치: > 최신 기사 목록> 이미지에서 대략적인 색 인덱스를 찾기 위해 ImageColorClosest 기능을 사용하는 특정 방법은 무엇입니까?

이미지에서 대략적인 색 인덱스를 찾기 위해 ImageColorClosest 기능을 사용하는 특정 방법은 무엇입니까?

gitbox 2025-08-29

사용 단계에 대한 자세한 설명

    • imageCreateFromGif () , imageCreateFrommpng () 또는 imageCreate ()를 사용하여 팔레트 기반 이미지 리소스를 만들거나로드하십시오.

  1. imageColorClosest () 호출

    • 대상 색상의 RGB 값을 전달하면 함수는이 색상에 가장 가까운 이미지에서 팔레트 인덱스를 반환합니다.

  2. 반환 된 색 인덱스를 사용하십시오

    • 이 색인을 사용하여 색상을 그리거나 교체하거나 색상 정보를 읽을 수 있습니다.


코드 예제

 <span><span><span class="hljs-comment">// 팔레트 이미지를로드하십시오</span></span><span>
</span><span><span class="hljs-variable">$image</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreatefromgif</span></span><span>(</span><span><span class="hljs-string">'palette_image.gif'</span></span><span>);

</span><span><span class="hljs-comment">// 일치하려는 색상을 설정하십시오,밝은 파란색처럼</span></span><span>
</span><span><span class="hljs-variable">$targetRed</span></span><span> = </span><span><span class="hljs-number">100</span></span><span>;
</span><span><span class="hljs-variable">$targetGreen</span></span><span> = </span><span><span class="hljs-number">150</span></span><span>;
</span><span><span class="hljs-variable">$targetBlue</span></span><span> = </span><span><span class="hljs-number">200</span></span><span>;

</span><span><span class="hljs-comment">// 가장 가까운 색 인덱스를 얻으십시오</span></span><span>
</span><span><span class="hljs-variable">$closestColorIndex</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecolorclosest</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-variable">$targetRed</span></span><span>, </span><span><span class="hljs-variable">$targetGreen</span></span><span>, </span><span><span class="hljs-variable">$targetBlue</span></span><span>);

</span><span><span class="hljs-comment">// 컬러 인덱스를 통해 색상 구성 요소를 얻습니다</span></span><span>
</span><span><span class="hljs-variable">$colors</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecolorsforindex</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>, </span><span><span class="hljs-variable">$closestColorIndex</span></span><span>);

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"가장 가까운 색 지수는입니다: "</span></span><span> . </span><span><span class="hljs-variable">$closestColorIndex</span></span><span> . </span><span><span class="hljs-string">"\n"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"해당 색상RGB가치는입니다: R=<span class="hljs-subst">{$colors['red']}</span></span></span><span> G=</span><span><span class="hljs-subst">{$colors['green']}</span></span><span> B=</span><span><span class="hljs-subst">{$colors['blue']}</span></span><span>\n";

</span><span><span class="hljs-comment">// 이미지 리소스 릴리스</span></span><span>
</span><span><span class="hljs-title function_ invoke__">imagedestroy</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><span>);
</span></span>

주목해야 할 것

  • ImageColorClosest 는 팔레트 이미지에만 적합합니다. 진정한 컬러 이미지의 경우 진정한 컬러 이미지에는 고정 된 팔레트가 없기 때문에 색상 일치는 중요하지 않습니다.

  • 이미지의 색상 팔레트에 정확히 일치하는 색상이 없으면 기능은 가장 가까운 색상을 반환하여 가장 작은 색상 차이를 보장합니다.

  • 이 기능은 효율적이며 실시간 색상 검색 요구 사항에 적합합니다.