XPressME Integration Kit

Trac

source: trunk/extras/my_themes/images/header-img.php

Last change on this file was 613, checked in by toemon, 14 years ago

extrasにカスタマイズ用のmy_themesを追加 Fixes#348

File size: 2.0 KB
Line 
1<?php
2
3$img = 'xpressheader.jpg';
4
5// If we don't have image processing support, redirect.
6if ( ! function_exists('imagecreatefromjpeg') )
7        die(header("Location: xpressheader.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'));
12foreach ( $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
27if ( $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 = 84;
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
52for ( $i = 0; $i < $h; $i++ ) {
53        $x1 = 0;
54        $x2 = 800;
55        imageline( $im, $x1, $i, $x2, $i, $white );
56}
57
58// Draw a new color thing
59for ( $i = 0; $i < $h; $i++ ) {
60        $x1 = 0;
61        $x2 = 800;
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, $i, $x2, $i, $color );
71}
72
73//die;
74header("Content-Type: image/jpeg");
75imagejpeg($im, '', 92);
76imagedestroy($im);
77?>
Note: See TracBrowser for help on using the repository browser.