imagecolorat

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

imagecoloratObtener el índice del color de un píxel

Descripción

imagecolorat(resource $image, int $x, int $y): int

Devuelve el índice del color de un píxel en el lugar especificado en la imagen especificada por image.

Si PHP se compila con la librería GD 2.0 o superior y la imagen es una imagen de color verdadero, esta función devuelve los valores RGB de ese pixel como entero. Use desplazamiento de bits y máscara de bits para acceder a los distintos valores de de los componentes rojo, verde y azul:

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

x

Coordenada x del punto.

y

Coordenada y del punto.

Valores devueltos

Devuelve el índice del color.

Ejemplos

Ejemplo #1 Acceder a los distintos valores 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);
?>

El resultado del ejemplo sería algo similar a:

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

Ejemplo #2 Valores RGB legibles para humanos usando imagecolorsforindex()

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

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

var_dump($colores);
?>

El resultado del ejemplo sería algo similar a:

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

Ver también