[devtalk] substituting header for wordpress kubrick theme

joseph harris joseph-harris at topmail.co.uk
Sun Apr 25 13:51:55 BST 2010


I have an image I want to put in place of the Kubrick, wordpress default. Some years ago it was a simple substitute link for image. Now it is in header-img.php - I put the file below.

Can I just substitute the image name [after putting it in the right folder of course], or is it as complex as the file below makes it look?


Joseph


<?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);
?>
 



More information about the devtalk mailing list