home *** CD-ROM | disk | FTP | other *** search
- <?php
-
- $img = 'kubrickheader.jpg';
-
- // If we don't have image processing support, redirect.
- if ( ! function_exists('imagecreatefromjpeg') )
- die(header("Location: kubrickheader.jpg"));
-
- // Assign and validate the color values
- $default = false;
- $vars = array('upper'=>array('r1', 'g1', 'b1'), 'lower'=>array('r2', 'g2', 'b2'));
- foreach ( $vars as $var => $subvars ) {
- if ( isset($_GET[$var]) ) {
- foreach ( $subvars as $index => $subvar ) {
- $length = strlen($_GET[$var]) / 3;
- $v = substr($_GET[$var], $index * $length, $length);
- if ( $length == 1 ) $v = '' . $v . $v;
- $$subvar = hexdec( $v );
- if ( $$subvar < 0 || $$subvar > 255 )
- $default = true;
- }
- } else {
- $default = true;
- }
- }
-
- if ( $default )
- list ( $r1, $g1, $b1, $r2, $g2, $b2 ) = array ( 105, 174, 231, 65, 128, 182 );
-
- // Create the image
- $im = imagecreatefromjpeg($img);
-
- // Get the background color, define the rectangle height
- $white = imagecolorat( $im, 15, 15 );
- $h = 182;
-
- // Define the boundaries of the rounded edges ( y => array ( x1, x2 ) )
- $corners = array(
- 0 => array ( 25, 734 ),
- 1 => array ( 23, 736 ),
- 2 => array ( 22, 737 ),
- 3 => array ( 21, 738 ),
- 4 => array ( 21, 738 ),
- 177 => array ( 21, 738 ),
- 178 => array ( 21, 738 ),
- 179 => array ( 22, 737 ),
- 180 => array ( 23, 736 ),
- 181 => array ( 25, 734 ),
- );
-
- // Blank out the blue thing
- for ( $i = 0; $i < $h; $i++ ) {
- $x1 = 19;
- $x2 = 740;
- imageline( $im, $x1, 18 + $i, $x2, 18 + $i, $white );
- }
-
- // Draw a new color thing
- for ( $i = 0; $i < $h; $i++ ) {
- $x1 = 20;
- $x2 = 739;
- $r = ( $r2 - $r1 != 0 ) ? $r1 + ( $r2 - $r1 ) * ( $i / $h ) : $r1;
- $g = ( $g2 - $g1 != 0 ) ? $g1 + ( $g2 - $g1 ) * ( $i / $h ) : $g1;
- $b = ( $b2 - $b1 != 0 ) ? $b1 + ( $b2 - $b1 ) * ( $i / $h ) : $b1;
- $color = imagecolorallocate( $im, $r, $g, $b );
- if ( array_key_exists($i, $corners) ) {
- imageline( $im, $x1, 18 + $i, $x2, 18 + $i, $white );
- list ( $x1, $x2 ) = $corners[$i];
- }
- imageline( $im, $x1, 18 + $i, $x2, 18 + $i, $color );
- }
-
- //die;
- header("Content-Type: image/jpeg");
- imagejpeg($im, '', 92);
- imagedestroy($im);
- ?>
-