if($_GET["theme"] != "") { $iconName = $_GET["theme"] . ".png"; } elseif($_GET["layer"] != "") { $iconName = $_GET["layer"] . ".png"; } elseif($_GET["icon"] != "") { $iconName = $_GET["icon"] . ".png"; } if(! file_exists($iconDirectoryPath . $iconName)) { $iconName = "proto.png"; } if($_GET["fill"] != "") { $fill = hex2int($_GET["fill"]); } // Compute the dark and light shades /*$darkBorder['r'] = $fill['r'] - $step; if($darkBorderBorder['r'] < 0){ $darkBorder['r'] = 0; } $darkBorder['g'] = $fill['g'] - $step; if($darkBorderBorder['g'] < 0){ $darkBorder['g'] = 0; } $darkBorder['b'] = $fill['b'] - $step; if($darkBorderBorder['b'] < 0){ $darkBorder['b'] = 0; }*/
function grad($im, $width, $height, $step, $basewidth, $baseheight, $end, $base) { // from http://usalug.com/phpBB3//viewtopic.php?p=58019 // $im is passed as @$im for the image to draw it on // $height is the Height of the box to draw // $width is the width of the box to draw // $step is the steps to take, a step of 10 would change the colour every 10 pixels // $baseheight is where to place the bottom of the rectangle // $basewidth is the right side of the location for the rectangle // $base is the start colour in hex (ffffff) // $end is the colour to end at in hex (000000) // Break colours into RGB components //sscanf($base, "%2x%2x%2x", $rbase, $gbase, $bbase); //sscanf($end, "%2x%2x%2x", $rend, $gend, $bend); $basecolors = hex2int($base); $rbase = $basecolors["r"]; $gbase = $basecolors["g"]; $bbase = $basecolors["b"]; $endcolors = hex2int($end); $rend = $endcolors["r"]; $gend = $endcolors["g"]; $bend = $endcolors["b"]; //////////////////////////////////////////////////// // This color retrieval broken on server. replace with hex2int //////////////////////////////////////////////////// // Set the Variable to step to use height //$varstep=$height; $varstep = $width; // Remove potential divide by 0 errors. if ($rbase == $rend) { $rend = $rend - 1; } if ($gbase == $gend) { $gend = $gend - 1; } if ($bbase == $bend) { $bend = $bend - 1; } // Make sure the height is at least 1 pixel if ($varstep == 0) { $varstep = 1; } // Set up step modifiers for each colour $rmod = ($rend - $rbase) / $varstep; $gmod = ($gend - $gbase) / $varstep; $bmod = ($bend - $bbase) / $varstep; // Serves no real purpose. $white = imagecolorallocate($im, 255, 255, 255); // Loop for the height at a rate equal to the steps. for ($i = 1; $i < $varstep; $i = $i + $step + 1) { //Adjust the colours $clour1 = $i * $rmod + $rbase; $clour2 = $i * $gmod + $gbase; $clour3 = $i * $bmod + $bbase; $col = imagecolorallocate($im, $clour1, $clour2, $clour3); //Paint the rectangle at current colour. //imagefilledrectangle ( resource $image, int $x1, int $y1, int $x2, int $y2, int $color ) //This was breaking online because numbers out of range were being passed because I did a hacky job modifying this from vert to horiz originally. Fixed -gmm 092807 $x1 = $basewidth - $i - 1; $y1 = $baseheight - $height; $x2 = $basewidth - $i + $step - 1; $y2 = $baseheight; imagefilledrectangle($im, $x1, $y1, $x2, $y2, $col); } // Return the image return $im; }