Projects : mp-wp : mp-wp_svg-screenshots-and-errorreporting-r2
1 | <?php |
2 | /** |
3 | * @package WordPress |
4 | * @subpackage Default_Theme |
5 | */ |
6 | |
7 | /** @ignore */ |
8 | $img = 'kubrickheader.svg'; |
9 | |
10 | // If we don't have image processing support, redirect. |
11 | if ( ! function_exists('imagecreatefromjpeg') ) |
12 | die(header("Location: kubrickheader.svg")); |
13 | |
14 | // Assign and validate the color values |
15 | $default = false; |
16 | $vars = array('upper'=>array('r1', 'g1', 'b1'), 'lower'=>array('r2', 'g2', 'b2')); |
17 | foreach ( $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 | |
32 | if ( $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 |
57 | for ( $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 |
64 | for ( $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; |
79 | header("Content-Type: image/jpeg"); |
80 | imagejpeg($im, '', 92); |
81 | imagedestroy($im); |
82 | ?> |