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