먼저 imageCreateFromGif () 함수로 GIF 이미지를로드해야합니다. 이 함수는 이미지 리소스를 반환합니다.
<span><span><span class="hljs-variable">$filename</span></span><span> = </span><span><span class="hljs-string">'example.gif'</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-variable">$filename</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-variable">$image</span></span><span>) {
</span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">'로드 할 수 없습니다 GIF 그림'</span></span><span>);
}
</span></span>
다음으로 imageColorstotal 기능을 호출하고 방금로드 된 이미지 리소스를 통과하여 총 색상 수를 얻습니다.
<span><span><span class="hljs-variable">$colorCount</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecolorstotal</span></span><span>(</span><span><span class="hljs-variable">$image</span></span><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">$colorCount</span></span><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>
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$filename</span></span><span> = </span><span><span class="hljs-string">'example.gif'</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-variable">$filename</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-variable">$image</span></span><span>) {
</span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">'로드 할 수 없습니다 GIF 그림'</span></span><span>);
}
</span><span><span class="hljs-variable">$colorCount</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecolorstotal</span></span><span>(</span><span><span class="hljs-variable">$image</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">$colorCount</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><span class="hljs-meta">?></span></span><span>
</span></span>
PHP 환경에 GD 라이브러리가 활성화되어 있는지 확인하십시오. 그렇지 않으면 관련 기능이 사용되지 않습니다.
imagecolorstotal 은 팔레트 이미지에만 적합하며 실제 색상 이미지로 반환 된 결과는 일반적으로 0입니다.
GIF 이미지는 최대 256 개의 색상을 사용할 수 있으므로 최대 리턴 값이 256을 초과하지 않습니다.