Blame | Last modification | View Log | RSS feed
<?php# PHPlot / contrib / color_range : Test 1, make a picture# $Id: color_range.test1.php 451 2009-12-09 03:45:49Z lbayuk $# This creates a PNG file on output with a color gradient.require_once 'color_range.php';function usage(){fwrite(STDERR, "Usage: color_range.test1.php color1 color2 number_of_colorsEach color is of the form rrggbb with 2 digit hex color components.");exit(1);}# Split color "rrggbb" into separate components. Code is from PHPlot.function rgb($color){return array(hexdec(substr($color, 1, 2)),hexdec(substr($color, 3, 2)),hexdec(substr($color, 5, 2)));}if ($_SERVER['argc'] != 4) usage();$color1 = rgb($_SERVER['argv'][1]);$color2 = rgb($_SERVER['argv'][2]);$n_col = (int)$_SERVER['argv'][3];if ($n_col < 2) usage();# Build a color map from colors[0]=color1 to colors[$n_col-1]=color2.$colors = color_range($color1, $color2, $n_col);# Make a picture:$w = 800;$h = 800;$im = imagecreate($w, $h);$background = imagecolorresolve($im, 0, 0, 0);for ($col = 0; $col < $n_col; $col++) {list($r, $g, $b) = $colors[$col];$colmap[$col] = imagecolorresolve($im, $r, $g, $b);}$margin = 20;$bar_width = (int)(($w - 2 * $margin) / $n_col);$x1 = $margin;$x2 = $x1 + $bar_width;$y1 = $margin;$y2 = $h - $margin;for ($col = 0; $col < $n_col; $col++) {imagefilledrectangle($im, $x1, $y1, $x2, $y2, $colmap[$col]);$x1 = $x2;$x2 += $bar_width;}imagepng($im);