imagecolorclosestalpha

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

imagecolorclosestalpha Получение индекса цвета ближайшего к заданному с учетом прозрачности

Описание

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

Возвращает индекс цвета в палитре изображения, "ближайшего" к заданному RGB значению, а также alpha уровню.

Список параметров

image

Ресурс изображения, возвращаемый одной из функций создания изображений, например, такой как imagecreatetruecolor().

red

Значение красного компонента цвета.

green

Значение зеленого компонента цвета.

blue

Значение синего компонента цвета.

alpha

Значение в диапазоне от 0 до 127. 0 означает непрозрачность, 127 означает абсолютную прозрачность.

Параметры цвета могут быть либо целочисленными в диапазоне от 0 до 255, либо шестнадцатеричными в диапазоне от 0x00 до 0xFF.

Возвращаемые значения

Возвращает индекс цвета в палитре изображения, ближайшего к заданному.

Примеры

Пример #1 Поиск набора цветов изображения

<?php
// Создание изображения и преобразование его в палитровое
$im imagecreatefrompng('figures/imagecolorclosest.png');
imagetruecolortopalette($imfalse255);

// Цвета для поиска  (RGB)
$colors = array(
    array(
25414515450),
    array(
153145188127),
    array(
153901450),
    array(
2551379284)
);

// Проход по каждому цвету и поиск ближайшего к нему в палитре.
// Возврат номера по порядку, RGB искомого цвета и найденное RGB соответствие
foreach($colors as $id => $rgb)
{
    
$result imagecolorclosestalpha($im$rgb[0], $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).

Смотрите также

  • imagecolorexactalpha() - Получение индекса заданного цвета и альфа компонента
  • imagecolorclosest() - Получение индекса цвета ближайшего к заданному
  • imagecolorclosesthwb() - Получение индекса цвета, имеющего заданный тон, белизну и затемнение