PHP 이미지 처리 중에, 우리는 종종 색상을 구문 분석 해야하는 상황에 직면합니다. PHP는 이미지에서 색상을 정확하게 찾거나 생성하기 위해 이러한 기능을 구현하는 데 도움이되는 기능을 제공합니다. 그중에서도 imageColorResolve () , imageColorexact () 및 imageColorClosest () 는 일반적으로 사용되는 세 가지 기능입니다. 그렇다면이 세 가지 기능의 차이점과 가장 적합한 기능을 선택하는 방법은 무엇입니까? 이러한 기능 간의 차이점을 자세히 분석하고 실제 응용 시나리오에 대해 논의 할 것입니다.
imageColorResolve () 함수는 RGB 값을 통해 이미지 팔레트에서 가장 가까운 색상을 찾는 데 사용됩니다. 이미지가 팔레트 (예 : GIF 이미지 또는 팔레트가있는 PNG 이미지)를 사용하는 경우이 기능은 팔레트에서 가장 가까운 색상을 찾습니다.
imagecolorresolve($image, $r, $g, $b);
$ image : 이미지 리소스, 일반적으로 imageCreateFrom*() 함수를 통해 생성 된 이미지입니다.
$ R : 찾을 수있는 빨간색 값.
$ G : 찾을 수있는 녹색 값.
$ B : 파란색 값을 찾을 수 있습니다.
$image = imagecreatefrompng('example.png');
$index = imagecolorresolve($image, 255, 0, 0); // 가장 가까운 색상을 빨간색으로 찾으십시오
imageColorResolve ()는 RGB 값에 가장 가까운 팔레트의 색 인덱스를 반환합니다. 찾을 수 없으면 -1을 반환합니다.
imageColorexact () 함수는 지정된 RGB 값과 정확히 일치하는 색상을 찾는 데 사용됩니다. 이미지 팔레트에 정확히 일치하는 색상이 있으면 해당 색상의 색인이 반환됩니다. 정확히 일치하는 색상을 찾을 수없는 경우 -1을 반환하십시오.
imagecolorexact($image, $r, $g, $b);
$ 이미지 : 이미지 리소스.
$ r , $ g , $ b : 지정된 빨간색, 녹색 및 파란색 값.
$image = imagecreatefrompng('example.png');
$index = imagecolorexact($image, 255, 0, 0); // 정확히 빨간색으로 일치하는 색상을 찾으십시오
이미지의 팔레트에 정확히 일치하는 색상이 있으면 imagecolorexact ()는 해당 색상의 인덱스를 반환합니다. 정확히 일치하는 색상이 없으면 -1을 반환합니다.
imageColorClosest () 함수는 imageColorResolve () 와 유사하며 팔레트에서 지정된 색상에 가장 가까운 색상을 찾는 데 사용됩니다. 그러나 imageColorResolve () 와 달리 imageColorClosest ()는 24 비트 진정한 컬러 이미지와 같은 팔레트 이외의 색상 모드를 허용 할 수 있습니다.
imagecolorclosest($image, $r, $g, $b);
$ 이미지 : 이미지 리소스.
$ r , $ g , $ b : 지정된 빨간색, 녹색 및 파란색 값.
$image = imagecreatefrompng('example.png');
$index = imagecolorclosest($image, 255, 0, 0); // 가장 가까운 색상을 빨간색으로 찾으십시오
imageColorClosest ()는 지정된 색상에 가장 가까운 색 인덱스를 반환하여 비 폴리트 이미지에 적합합니다.
기능 이름 | 사용 | 반환 값 |
---|---|---|
imageColorResolve () | 지정된 RGB 값에 가장 가까운 색상 팔레트 찾기 | 찾을 수없는 경우 색인 을 반환합니다 |
imagecolorexact () | 지정된 RGB 값과 정확히 일치하는 팔레트 색상 찾기 | 찾을 수없는 경우 색인 을 반환합니다 |
imageColorClosest () | 지정된 RGB 값에 가장 가까운 색상을 찾고, 비 Palette 이미지 (예 : 실제 색상 이미지)를 지원합니다. | 찾을 수없는 경우 색인 을 반환합니다 |
팔레트 이미지에서 지정된 RGB 값에 가장 가까운 색상을 찾아야하고 정확히 일치하는지 신경 쓰지 않으면 imageColorResolve ()를 사용할 수 있습니다. 컬러 팔레트를 사용하는 GIF, 색인 PNG 등에 적합합니다.
팔레트에서 색상을 정확하게 찾으려면 정확히 일치하지 않으면 처리하지 않으려면 imagecolorexact ()를 사용할 수 있습니다. 이 기능은 색상 정확도에 대한 요구 사항이 높은 장면에 적합하지만 이미지에는 색상이 정확히 일치해야합니다.
비 폴렛 이미지 (예 : 실제 색상 이미지)를 처리하거나 모든 이미지에서 특정 RGB 값에 가장 가까운 색상을 찾을 수 있으려면 imageColorClosest ()를 사용하여 더 적절합니다. 24 비트 진정한 컬러 이미지를 처리하는 데 적합하며 가장 가까운 색상을 찾을 수 있습니다.
팔레트를 사용하여 이미지를 처리하는 경우 imageColorResolve () 및 imageColorexact () 는 선택적 함수이고 전자는 더 느슨하고 후자는 정확한 일치가 필요합니다.
비 폴리트 이미지의 경우, 가장 가까운 색상을 찾으려면 imagecolorclosest ()가 더 유연하고 적용 가능합니다.
이미지의 유형 및 요구에 따라 가장 적절한 기능을 선택하면 이미지 처리에서 색상 문제를보다 효율적으로 처리하는 데 도움이됩니다.