imageCreateFromGif () , imageCreateFrommpng () 또는 imageCreate ()를 사용하여 팔레트 기반 이미지 리소스를 만들거나로드하십시오.
imageColorClosest () 호출
대상 색상의 RGB 값을 전달하면 함수는이 색상에 가장 가까운 이미지에서 팔레트 인덱스를 반환합니다.
반환 된 색 인덱스를 사용하십시오
이 색인을 사용하여 색상을 그리거나 교체하거나 색상 정보를 읽을 수 있습니다.
<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 는 팔레트 이미지에만 적합합니다. 진정한 컬러 이미지의 경우 진정한 컬러 이미지에는 고정 된 팔레트가 없기 때문에 색상 일치는 중요하지 않습니다.
이미지의 색상 팔레트에 정확히 일치하는 색상이 없으면 기능은 가장 가까운 색상을 반환하여 가장 작은 색상 차이를 보장합니다.
이 기능은 효율적이며 실시간 색상 검색 요구 사항에 적합합니다.