PHP 8.6.0 Beta 1 is available for testing

imagecolorclosestalpha

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

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

Описание

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

Нашли ошибку?

ИнструкцияИсправлениеСообщение об ошибке
+Добавить

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

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

AltStyle によって変換されたページ (->オリジナル) /