En la imagen siguiente se utilizó un color negro con transparencia para dar el efecto de sombra:

Para defiir un color con transparencia, la función es la siguiente:
$color = imagecolorallocatealpha($imagen,R,G,B,A);
Como pueden ver, la sintaxis es muy similar a imagecolorallocate(), sin embargo existe un parámetro adicional (A). El parámetro A se refiere al nivel de transparencia (alpha) y su valor se define con un número entre 0 (cero) y 127, siendo 127 completamente transparente y 0 (cero) completamente opaco. Todos los valores intermedios nos darán como resultado parcialidades en la transparencia.
Muy Importante: La función imagecolorallocatealpha() sólo es aceptada en las imágenes TrueColor (24Bits). Esto no excluye a los GIFs, ya que cuando demos de alta la imagen, esta será TrueColor, pero cuando le demos salida a GIF automáticamente se indexará. En otras palabras, trabajaremos como si fuera TrueColor, pero el resultado terminará siendo una imagen indexada.
Nota: Los valores de R (rojo), G (verde) y B (azul) aceptan valores entre 0 (cero) y 255.
Ahora, una imágen en donde se utilizó la función anterior y su código correspondiente:

<?php
header("Content-type: image/gif");
// IMPORTANTE: Creamos una imagen TrueColor
$imagen = imagecreatetruecolor(420,120);
$bg = imagecolorallocate($imagen,230,230,230);
$amarillo = imagecolorallocate($imagen,245,220,0);
$azul = imagecolorallocate($imagen,50,200,255);
$rojo = imagecolorallocate($imagen,255,80,80);
// color con transparencia
$sombra = imagecolorallocatealpha($imagen,0,0,0,99);
imagefill($imagen,10,10,$bg);
imagefilledrectangle($imagen,19,50,189,100,$rojo);
imagefilledrectangle($imagen,209,50,399,100, $amarillo);
imagefilledrectangle($imagen,104,29,294,79, $sombra);
imagefilledrectangle($imagen,114,19,304,69,$azul);
imagegif($imagen);
imagedestroy($imagen);
?>
Nota: Aún cuando lo que se está generando es una imagen TrueColor y el resultado final es arrojado en un GIF (indexado), es válido ya que al momento de darle salida al GIF, automáticamente se indexará.
Usuarios que han visto este tema también han visto...
- Listado de registros PHP MySQL
- Crear un log de errores en PHP
- CSS Color Generator en PHP
- Htaccess y páginas dinámicas en PHP
- Imagen de validación de formularios con PHP
Información legal | Política de Privacidad | Contacte con nosotros
Otro proyecto de Factoría de Internet. Copyright© 2003-2011 Factoría de Internet S.L.. Todos los derechos reservados.