English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP 기초 강의

PHP 고급 강의

PHP & MySQL

PHP 참조 설명서

PHP imagecolorclosestalpha() — 지정된 색상과 투명도와 가장 가까운 색상의 인덱스를 얻습니다

PHP 이미지 처리

imagecolorclosestalpha — 지정된 색상과 투명도와 가장 가까운 색상의 인덱스를 얻습니다.

문법

int imagecolorclosestalpha(resource $image, int $red, int $green, int $blue, int $alpha)

지정된 RGB 값과 알파 투명도와 가장 "밀접한" 색상을 반환합니다.

파라미터

  • 이미지이미지 생성 함수(예: imagecreatetruecolor())로 반환된 이미지 리소스.

  • red빨간 성분의 값입니다.

  • green녹색 성분의 값입니다.

  • blue파란 성분의 값입니다.

  • alpha사이의 값입니다. 127 사이의 값입니다. 0은 완전 불투명을 의미합니다.127 완전 투명을 나타냅니다. 0은 완전 불투명을 의미합니다.

색상 매개변수는 0과 255 사이의 정수 또는 0x00과 0xFF 사이의 16진수입니다.

반환 값

팔레트에서 가장 가까운 색상의 인덱스를 반환합니다.

예제

이미지에서 일련의 색상을 검색합니다.

<?php
// 이미지에서 시작하여 팔레트 기반 이미지로 변환합니다.
$im = imagecreatefrompng('figures/imagecolorclosest.png');
imagetruecolortopalette($im, false, 255);
// 검색 색상(RGB)
$colors = array(
    array(254, 145, 154, 50),
    array(153, 145, 188, 127),
    array(153, 90, 145, 0),
    array(255, 137, 92, 84)
);
// 루프를 돌면서 팔레트에서 가장 가까운 색상을 찾습니다.
// 검색 횟수를 반환하고, 검색된 RGB와 가장 가까운 일치 RGB를 반환합니다.
foreach($colors as $id => $rgb)
{
    $result = imagecolorclosestalpha($im, $rgb[1], $rgb[2], $rgb[3]);
    $result = imagecolorsforindex($im, $result);
    $result = "({$result['red']}, {$result['green']}, {$result['blue']}, {$result['alpha']})";
    echo "#$id: 검색 ($rgb[0], $rgb[1], $rgb[2], $rgb[3)); 가장 가까운 일치: $result。\n";
}
imagedestroy($im);
?>

위 예제의 출력은 다음과 같습니다:

#0: 검색 (254, 145, 154, 50); 가장 가까운 일치: (252, 150, 148, 0)。
#1: 검색 (153, 145, 188, 127); 가장 가까운 일치: (148, 150, 196, 0)。
#2: 검색 (153, 90, 145, 0); 가장 가까운 일치: (148, 90, 156, 0)。
#3: 검색 (255, 137, 92, 84); 가장 가까운 일치: (252, 150, 92, 0)。

관련 기사

PHP 이미지 처리