Ver Mensaje Individual
  #5 (permalink)  
Antiguo 12/08/2011, 20:02
tai007
 
Fecha de Ingreso: abril-2010
Mensajes: 76
Antigüedad: 14 años
Puntos: 0
Respuesta: Como realizar lo siguiente con GD

Ninguna Idea ?

Código PHP:
Ver original
  1. <?php
  2.  
  3. header( "Content-type: image/gif" );
  4.  
  5. $imagen = imagecreatefrompng('tras.png');
  6.  
  7.  
  8. $morado = array( 'r' => 186, 'g' => 0, 'b' => 255 );
  9. $amarillo = array( 'r' => 255, 'g' => 220, 'b' => 0 );
  10.  
  11. $pasos = 2000;
  12.  
  13. $incr_r = ( $amarillo['r'] - $morado['r'] ) / $pasos;
  14. $incr_g = ( $amarillo['g'] - $morado['g'] ) / $pasos;
  15. $incr_b = ( $amarillo['b'] - $morado['b'] ) / $pasos;
  16.  
  17. // El centro de la imagen será el del gradiente
  18. $cx = imagesx( $imagen ) / 3;
  19. $cy = imagesy( $imagen ) / 3;
  20. = imagesx( $imagen ) / 2;
  21. $k = imagesy( $imagen ) / 3;
  22.  
  23. // Ancho y alto del gradiente inicial
  24. $ancho = 240;
  25. $alto = 140;
  26.  
  27. // Valores de reducción del elipse
  28. $incr_x = $ancho / $pasos;
  29. $incr_y = $alto / $pasos;
  30.  
  31. $r = $morado['r'];
  32. $g = $morado['g'];
  33. $b = $morado['b'];
  34.  
  35. // Dibujamos las elipses según los pasos
  36. for( $i = 10; $i < $pasos; $i++ ){
  37. $color = imagecolorallocate( $imagen, $r, $g, $b );
  38. imagefilledellipse( $imagen, $cx, $cy, $ancho, $alto, $color );
  39. imagefilledellipse( $imagen, , $k, $ancho, $alto, $color );
  40.  
  41. $r += $incr_r;
  42. $g += $incr_g;
  43. $b += $incr_b;
  44. // Reducimos el tamaño de la siguiente elipse
  45. $ancho -= $incr_x;
  46. $alto -= $incr_y;
  47. }
  48.  
  49. imagegif( $imagen );
  50.  
  51. imagedestroy( $imagen );
  52.  
  53. ?>