Узнать цвет пикселя изображения (PHP)

Узнать цвет пикселя в изображения при помощи PHP можно при помощи функции int imagecolorat ( resource $image , int $x , int $y );

imagecolorat

Функция принимает два параметра:

  • resource $image — изображение;
  • int $x — координата X;
  • int $y — координата Y.

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

Тестовое изображение

Ниже тестовое изображение для демонстрации возможностей функции imagecolorat.

Тестовое изображение для imagecolorat
Тестовое изображение для imagecolorat

<?php // Файл $filename = '/test.gif'; // Создаем изображение $im = imagecreatefromgif($filename); // Координаты точек $coordinates = [ 'Красная точка' => [75, 75], 'Зеленая точка' => [150, 75], 'Голубая точка' => [150, 150], 'Черная точка' => [75, 150], ]; // Перебираем координаты foreach ($coordinates as $color => $xy) { list($x, $y) = $xy; echo $color . PHP_EOL; // Получаем RGB точки $rgb = imagecolorat($im, $x, $y); // Получаем массив значений RGB $colors = imagecolorsforindex($im, $rgb); // Вывод echo sprintf("Red: %s \nGreen: %s \nBlue: %s\n\n", $colors['red'], $colors['green'], $colors['blue']); }

Результат

Результатом выполнения скрипта будет следующее:

Красная точка Red: 255 Green: 0 Blue: 0 Зеленая точка Red: 0 Green: 255 Blue: 0 Голубая точка Red: 0 Green: 0 Blue: 255 Черная точка Red: 0 Green: 0 Blue: 0

Категории

ПрограммированиеPHPИзображения в PHPGDИзображения

Читайте также

Комментарии