web/wp-content/themes/default/images/header-img.php
branchwordpress
changeset 109 03b0d1493584
child 132 4d4862461b8d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/web/wp-content/themes/default/images/header-img.php	Wed Dec 23 17:55:33 2009 +0000
@@ -0,0 +1,82 @@
+<?php
+/**
+ * @package WordPress
+ * @subpackage Default_Theme
+ */
+
+/** @ignore */
+$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);
+?>