home *** CD-ROM | disk | FTP | other *** search
/ Cricao de Sites - 650 Layouts Prontos / WebMasters.iso / Blogs / wordpress2.6.exe / wordpress2.6 / wp-content / themes / default / images / header-img.php < prev    next >
Encoding:
PHP Script  |  2008-07-16  |  2.0 KB  |  78 lines

  1. <?php
  2.  
  3. $img = 'kubrickheader.jpg';
  4.  
  5. // If we don't have image processing support, redirect.
  6. if ( ! function_exists('imagecreatefromjpeg') )
  7.     die(header("Location: kubrickheader.jpg"));
  8.  
  9. // Assign and validate the color values
  10. $default = false;
  11. $vars = array('upper'=>array('r1', 'g1', 'b1'), 'lower'=>array('r2', 'g2', 'b2'));
  12. foreach ( $vars as $var => $subvars ) {
  13.     if ( isset($_GET[$var]) ) {
  14.         foreach ( $subvars as $index => $subvar ) {
  15.             $length = strlen($_GET[$var]) / 3;
  16.             $v = substr($_GET[$var], $index * $length, $length);
  17.             if ( $length == 1 ) $v = '' . $v . $v;
  18.             $$subvar = hexdec( $v );
  19.             if ( $$subvar < 0 || $$subvar > 255 )
  20.                 $default = true;
  21.         }
  22.     } else {
  23.         $default = true;
  24.     }
  25. }
  26.  
  27. if ( $default )
  28.     list ( $r1, $g1, $b1, $r2, $g2, $b2 ) = array ( 105, 174, 231, 65, 128, 182 );
  29.  
  30. // Create the image
  31. $im = imagecreatefromjpeg($img);
  32.  
  33. // Get the background color, define the rectangle height
  34. $white = imagecolorat( $im, 15, 15 );
  35. $h = 182;
  36.  
  37. // Define the boundaries of the rounded edges ( y => array ( x1, x2 ) )
  38. $corners = array(
  39.     0 => array ( 25, 734 ),
  40.     1 => array ( 23, 736 ),
  41.     2 => array ( 22, 737 ),
  42.     3 => array ( 21, 738 ),
  43.     4 => array ( 21, 738 ),
  44.     177 => array ( 21, 738 ),
  45.     178 => array ( 21, 738 ),
  46.     179 => array ( 22, 737 ),
  47.     180 => array ( 23, 736 ),
  48.     181 => array ( 25, 734 ),
  49.     );
  50.  
  51. // Blank out the blue thing
  52. for ( $i = 0; $i < $h; $i++ ) {
  53.     $x1 = 19;
  54.     $x2 = 740;
  55.     imageline( $im, $x1, 18 + $i, $x2, 18 + $i, $white );
  56. }
  57.  
  58. // Draw a new color thing
  59. for ( $i = 0; $i < $h; $i++ ) {
  60.     $x1 = 20;
  61.     $x2 = 739;
  62.     $r = ( $r2 - $r1 != 0 ) ? $r1 + ( $r2 - $r1 ) * ( $i / $h ) : $r1;
  63.     $g = ( $g2 - $g1 != 0 ) ? $g1 + ( $g2 - $g1 ) * ( $i / $h ) : $g1;
  64.     $b = ( $b2 - $b1 != 0 ) ? $b1 + ( $b2 - $b1 ) * ( $i / $h ) : $b1;
  65.     $color = imagecolorallocate( $im, $r, $g, $b );
  66.     if ( array_key_exists($i, $corners) ) {
  67.         imageline( $im, $x1, 18 + $i, $x2, 18 + $i, $white );
  68.         list ( $x1, $x2 ) = $corners[$i];
  69.     }
  70.     imageline( $im, $x1, 18 + $i, $x2, 18 + $i, $color );
  71. }
  72.  
  73. //die;
  74. header("Content-Type: image/jpeg");
  75. imagejpeg($im, '', 92);
  76. imagedestroy($im);
  77. ?>
  78.