Está usted en Indice > Construcción > Lenguajes > PHP > Lecciones y Paso a Paso > GD: Transparencias
Construcción
Maletín
Utilidades
Cursos
Promoción
Rentabilidad
Zona Novatos
Foros
Acceso a tu cuenta

GD: Transparencias (2)

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

030802.gif

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:

030803.gif

<?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á.




Autor: Sargento
http://www.washeebo.com/sargento/03_php/0308/0308.php

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


Versión imprimible - Versión imprimible de este documento
Enviar e-mail - Enviar por e-mail este documento
Publicidad






Cursos de Community Manager

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.


Página generada el 26-05-2012 a las 00:33:48