PHP 8.4.3 Released!

imagecolorclosestalpha

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

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

Описание

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

Функция возвращает «ближайший» к заданному RGB-значению и alpha-уровню индекс цвета в палитре изображения.

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

image

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

red

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

green

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

blue

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

alpha

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

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

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

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

Примеры

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

<?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[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";
}

?>

Вывод приведённого примера будет похож на:

#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() - Получает индекс цвета с заданными тоном, белизной и затемнением
Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top