$points = star(8,200,50);
        $points = translatePolygon($points,200,200);
        
        $image = imagecreatetruecolor(400,400);
        $white = imagecolorallocate($image,255,255,255);
        imagefill($image,0,0,$white);
        $red = imagecolorallocate($image,255,0,0);
        imagefilledpolygon($image,$points,(count($points)/2),$red);
        header("Content-type: image/png");
        imagepng($image);
        imagedestroy($image);
        
        function star($number_of_points,$outer_radius=100,$inner_radius=40) {
                $p = array();
                $degrees = 360/($number_of_points*2);
                for ($i=0;$i<$number_of_points*2;$i++) {
                        $cos = cos(deg2rad($degrees*$i));
                        $sin = sin(deg2rad($degrees*$i));
                        $x = 0;
                        $y = ($i%2==0)?$outer_radius:$inner_radius;
                        $p[] = round($cos*($x) - $sin*($y));
                        $p[] = round($sin*($x) + $cos*($y));
                }
                return $p;
        }
        function translatePolygon($points,$x=0,$y=0) {
                for($i=0;$i                        $points[$i] = $points[$i] + $x;
                        $points[$i+1] = $points[$i+1] + $y;
                }
                return $points;
        }
?>