imagecolorat

(PHP 4, PHP 5, PHP 7, PHP 8)

imagecoloratПолучение индекса цвета пиксела

Описание

imagecolorat(GdImage $image, int $x, int $y): int|false

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

Если передаётся truecolor-изображение, функция возвращает целочисленное RGB значение для пиксела. Для выделения отдельных компонентов красного, зелёного или синего каналов используйте битовый сдвиг и маскирование:

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

image

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

x

x-координата пиксела.

y

y-координата пиксела.

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

Возвращает индекс цвета или false в случае возникновения ошибки.

Внимание

Эта функция может возвращать как логическое значение false, так и значение не типа boolean, которое приводится к false. За более подробной информацией обратитесь к разделу Булев тип. Используйте оператор === для проверки значения, возвращаемого этой функцией.

Список изменений

Версия Описание
8.0.0 image теперь ожидает экземпляр GdImage; ранее ожидался корректный gd ресурс (resource).

Примеры

Пример #1 Доступ к компонентам RGB цвета

<?php
$im
= imagecreatefrompng("php.png");
$rgb = imagecolorat($im, 10, 15);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;

var_dump($r, $g, $b);
?>

Результатом выполнения данного примера будет что-то подобное:

int(119)
int(123)
int(180)

Пример #2 Удобочитаемые RGB значения с использованием imagecolorsforindex()

<?php
$im
= imagecreatefrompng("php.png");
$rgb = imagecolorat($im, 10, 15);

$colors = imagecolorsforindex($im, $rgb);

var_dump($colors);
?>

Результатом выполнения данного примера будет что-то подобное:

array(4) {
  ["red"]=>
  int(119)
  ["green"]=>
  int(123)
  ["blue"]=>
  int(180)
  ["alpha"]=>
  int(127)
}

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

  • imagecolorset() - Установка набора цветов для заданного индекса палитры
  • imagecolorsforindex() - Получение цветов, соответствующих индексу
  • imagesetpixel() - Рисование точки