PHP Conference Nagoya 2025

imagecolorexactalpha

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

imagecolorexactalphaObtener el índice del color + alpha especificado

Descripción

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

Devuelve el índice del color+alpha especifivado en la paleta de una imagen.

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+alpha especificado en la paleta de la imagen, o -1 si el color no existe en la paleta de la imagen.

Ejemplos

Ejemplo #1 Obtener colores del logotipo de GD

<?php

// Establecer una imagen
$im = imagecreatefrompng('./gdlogo.png');

$colores = Array();
$colores[] = imagecolorexactalpha($im, 255, 0, 0, 0);
$colores[] = imagecolorexactalpha($im, 0, 0, 0, 127);
$colores[] = imagecolorexactalpha($im, 255, 255, 255, 55);
$colores[] = imagecolorexactalpha($im, 100, 255, 52, 20);

print_r($colores);

// Liberar memorio
imagedestroy($im);
?>

El resultado del ejemplo sería algo similar a:

Array
(
    [0] => 16711680
    [1] => 2130706432
    [2] => 939524095
    [3] => 342163252
)

Ver también

add a note

User Contributed Notes 2 notes

up
1
matt at matt-darby dot com
19 years ago
Note that a color allocated with imagecolorexactalpha won't show alpha (it will be opaque) when used with imageline(). Use imagerectangle() set to your normal start and end points instead.

Ensure that the image is created via imagecreatetruecolor() as well!
up
-1
phpdoc-comment at aditus dot nu
22 years ago
What might be misleading in the docs is that if the specified color + alpha channel does not exist it will be created. So if you like to use an alpha channel in your image enable alpha blending and then create you color using this method.
To Top