source: trunk/www.guidonia.net/wp/wp-content/themes/default/images/header-img.php@ 44

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