imagecolorallocatealpha
(PHP 4 >= 4.3.2, PHP 5, PHP 7)
imagecolorallocatealpha — Asignar un color para una imagen
Descripción
$image
, int $red
, int $green
, int $blue
, int $alpha
)
imagecolorallocatealpha() se comporta de forma idéntica a
imagecolorallocate() con la adición del parámetro de
transparencia alpha.
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.
red, green
y blue son enteros
entre 0 y 255 o hexadecimales entre 0x00 y 0xFF.
Valores devueltos
Un identificador de color o FALSE si la asignación falló.
Esta función puede
devolver el valor booleano FALSE, pero también puede devolver un valor no booleano que se
evalúa como FALSE. Por favor lea la sección sobre Booleanos para más
información. Use el operador
=== para comprobar el valor devuelto por esta
función.
Historial de cambios
| Versión | Descripción |
|---|---|
| 5.1.3 |
Devuelve FALSE si falló la asignación. Anteriormente
devolvía -1.
|
Ejemplos
Ejemplo #1 Ejemplo usando imagecolorallocatealpha()
<?php
$tamaño = 300;
$imagen=imagecreatetruecolor($tamaño, $tamaño);
// para obtener un fondo blanco con borde negro
$fondo = imagecolorallocate($imagen, 255, 255, 255);
$borde = imagecolorallocate($imagen, 0, 0, 0);
imagefilledrectangle($imagen, 0, 0, $tamaño - 1, $tamaño - 1, $fondo);
imagerectangle($imagen, 0, 0, $tamaño - 1, $tamaño - 1, $borde);
$amarillo_x = 100;
$amarillo_y = 75;
$rojo_x = 120;
$rojo_y = 165;
$azul_x = 187;
$azul_y = 125;
$radio = 150;
// asignar colores con valores alfa
$amarillo = imagecolorallocatealpha($imagen, 255, 255, 0, 75);
$rojo = imagecolorallocatealpha($imagen, 255, 0, 0, 75);
$azul = imagecolorallocatealpha($imagen, 0, 0, 255, 75);
// dibujar 3 círculos solapados
imagefilledellipse($imagen, $amarillo_x, $amarillo_y, $radio, $radio, $amarillo);
imagefilledellipse($imagen, $rojo_x, $rojo_y, $radio, $radio, $rojo);
imagefilledellipse($imagen, $azul_x, $azul_y, $radio, $radio, $azul);
// ¡no olvide imprimir la cabecera correcta!
header('Content-Type: image/png');
// y finalmente, imprimir el resultado
imagepng($imagen);
imagedestroy($imagen);
?>
El resultado del ejemplo sería algo similar a:
Notas
Nota: Esta función require GD 2.0.1 o superior (se recomienda 2.0.28 o superior).
Ver también
- imagecolorallocate() - Asigna un color para una imagen
- imagecolordeallocate() - Desasignar un color de una imagen