imagecolorclosestalpha — Получает индекс цвета, наиболее близкого к указанному, плюс прозрачность.
int imagecolorclosestalpha (ресурс $image, int $red, int $green, int $blue, int $alpha)
Возвращает цвет в палитре изображения, который «ближайший» к указанному значению RGB и глубине альфа-канала.
imageРесурс изображения, возвращаемый функцией создания изображения (например, imagecreatetruecolor()).
redЗначение красного компонента.
greenЗначение зеленого компонента.
blueЗначение синего компонента.
Значение альфаА от 0 до 127. 0 означает полную непрозрачность, 127 означает полную прозрачность.
Параметр цвета представляет собой целое число от 0 до 255 или шестнадцатеричное число от 0x00 до 0xFF.
Возвращает индекс ближайшего цвета в палитре.
Найдите в изображении набор цветов.
<?php// Начните с изображения и преобразуйте его в изображение на основе палитры $im = imagecreatefrompng('figures/imagecolorclosest.png');imagetruecolortopalette($im, false, 255);// Поиск цветов (RGB) $colors = массив(массив(254, 145, 154, 50), массив(153, 145, 188, 127), array(153, 90, 145, 0), array(255, 137, 92, 84) // Проходим и находим ближайший цвет в палитре // Возвращаем количество поисков, RGB и ближайший цвет соответствие RGBforeach($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() Получает индекс черного и белого оттенка, наиболее близкого к заданному цвету.