For quick and dirty smoothing, make the image twice the right size, then down-sample to the desired size.
$circleSize=90; $canvasSize=100; $imageX2 = imagecreatetruecolor($canvasSize*2, $canvasSize*2); $bg = imagecolorallocate($imageX2, 255, 255, 255); $col_ellipse = imagecolorallocate($imageX2, 204, 0, 0); imagefilledellipse($imageX2, $canvasSize, $canvasSize, $circleSize*2, $circleSize*2, $col_ellipse); $imageOut = imagecreatetruecolor($canvasSize, $canvasSize); imagecopyresampled($imageOut, $imageX2, 0, 0, 0, 0, $canvasSize, $canvasSize, $canvasSize*2, $canvasSize*2); header("Content-type: image/png"); imagepng($imageOut);
source share