PHP 8.1.30 Released!

imagecolorclosestalpha

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imagecolorclosestalphaObtener el índice del color más próximo al color + alpha especificado

Descripción

imagecolorclosestalpha(
    resource $image,
    int $red,
    int $green,
    int $blue,
    int $alpha
): int

Devuelve el índice del color en la paleta de la imagen que está "más próximo" al valor RGB especificado y al nivel alpha especificado.

Parámetros

image

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

red

Valor del componente rojo.

green

Valor del componente verde.

blue

Valor del componente azul.

alpha

Un valor entre 0 y 127. 0 indica completamente opaco mientras que 127 indica completamente transparente.

Los parámetros de colores son enteros entre 0 y 255 o hexadecimales entre 0x00 y 0xFF.

Valores devueltos

Devuelve el índice del color más próximo en la paleta.

Ejemplos

Ejemplo #1 Buscar un conjunto de colores en una imagen

<?php
// Comenzar con una imagen y convertirla a una imagen basada en paleta de colores
$im = imagecreatefrompng('figures/imagecolorclosest.png');
imagetruecolortopalette($im, false, 255);

// Buscar colores (RGB)
$colores = array(
array(
254, 145, 154, 50),
array(
153, 145, 188, 127),
array(
153, 90, 145, 0),
array(
255, 137, 92, 84)
);

// Itera cada búsqueda y encuentra el color más próximo en la paleta.
// Devuelve el número de búsqueda, el RGB de búsqueda y la coincidencia RGB convertida
foreach($colores as $id => $rgb)
{
$resultado = imagecolorclosestalpha($im, $rgb[0], $rgb[1], $rgb[2], $rgb[3]);
$resultado = imagecolorsforindex($im, $resultado);
$resultado = "({$resultado['red']}, {$resultado['green']}, {$resultado['blue']}, {$resultado['alpha']})";

echo
"#$id: Búsqueda ($rgb[0], $rgb[1], $rgb[2], $rgb[3]); Coincidencia más próxima: $resultado.\n";
}

imagedestroy($im);
?>

El resultado del ejemplo sería algo similar a:

#0: Search (254, 145, 154, 50); Closest match: (252, 150, 148, 0).
#1: Search (153, 145, 188, 127); Closest match: (148, 150, 196, 0).
#2: Search (153, 90, 145, 0); Closest match: (148, 90, 156, 0).
#3: Search (255, 137, 92, 84); Closest match: (252, 150, 92, 0).

Ver también

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top