Используйте функцию imageline ...
function imagecircle($source,$r,$x,$y,$color){
for($i = 0;$i<=2*pi();$i+=(pi()/180)){
imageline($source,cos($i)*$r+$x,sin($i)*$r+$y,
cos($i+(pi()/180))*$r+$x,sin($i+(pi()/180))*$r+$y,$color);
}
}
$ source - это изображение, на которое вы хотите нарисовать, либо созданное с помощью gd, либо загруженное и созданное с помощью gd, например:
$source = imagecreatefromjpeg ('imgname.jpg');