0) && (1*$_GET["d"] > 0)) {
$diameter = $_GET["d"];
}
$n = $_GET["n"];
$t = 0;
for ($i = 0; $i < $n; $i++) {
$v[$i] = (strlen($_GET["v". $i]) > 0 ? $_GET["v". $i] : 0);
$t += $v[$i];
}
$tp = 0;
for ($i = 0; $i < $n; $i++) {
$p[$i] = round(360*$v[$i] / $t);
$tp += $p[$i];
}
$i = 0;
while ($tp > 360) {
$i = ($i == 0 ? $n - 1 : $i - 1);
if ($p[$i] > 0) {
$p[$i] --;
$tp--;
}
}
$radius = $diameter / 2;
$centerX = round($radius*1.1);
$centerY = round($radius*1.1);
$isize = round($diameter * 1.1);
$im = @ImageCreate ($isize, $isize)
or die ("Cannot Initialize new GD image stream");
$background = ImageColorAllocate ($im, 0xFF, 0xFF, 0xFF);
$c[] = imagecolorallocate($im, 0xFF, 0x00, 0x00);
$c[] = imagecolorallocate($im, 0x00, 0xFF, 0x00);
$c[] = imagecolorallocate($im, 0x00, 0x00, 0xFF);
$c[] = imagecolorallocate($im, 0x90, 0x00, 0x00);
$c[] = imagecolorallocate($im, 0x00, 0x90, 0x00);
$c[] = imagecolorallocate($im, 0x00, 0x00, 0x90);
$c[] = imagecolorallocate($im, 0xC0, 0xC0, 0xC0);
$c[] = imagecolorallocate($im, 0x90, 0x90, 0x90);
$tp = 0;
for ($i = 0; $i < $n; $i++) {
fill_arc($tp, $tp + $p[$i], $c[$i % 8]);
$tp += $p[$i];
}
header ("Content-type: image/png");
ImagePng ($im);
?>