imagecolorat

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

imagecoloratObtém o índica da cor de um pixel

Descrição

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

Retorna o índice da cor do pixel na localização especificada na imagem informada em image.

Se a imagem for em cores verdadeiras, esta função retorna o valor RGB do pixel como inteiro. Use deslocamentos de bits e máscaras para distinguir os componentes de vermelho, verde e azul:

Parâmetros

image

Um objeto GdImage, retornado por uma das funções de criação de imagem, como imagecreatetruecolor().

x

Coordenada x do pixel.

y

Coordenada y do pixel.

Valor Retornado

Retorna o índice da cor ou false em caso de falha.

Warning

Esta função pode retornar o valor booleano false, mas também pode retornar um valor não booleano que pode ser avaliado como false. Leia a seção sobre Booleanos para mais informações. Use o operador === para testar o valor retornado por esta função.

Registro de Alterações

Versão Descrição
8.0.0 O parâmetro image agora espera uma instância de GdImage; anteriormente, um resource gd válido era esperado.

Exemplos

Example #1 Acessando valores decompostos de 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);
?>

O exemplo acima produzirá algo semelhante a:

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

Example #2 Valores legíveis de RGB usando imagecolorsforindex()

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

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

var_dump($colors);
?>

O exemplo acima produzirá algo semelhante a:

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

Veja Também