function setImageClipMask($image_path) { $imagick = new \Imagick(); $imagick->readImage(realpath($image_path)); $width = $imagick->getImageWidth(); $height = $imagick->getImageHeight(); $clipMask = new \Imagick(); $clipMask->newPseudoImage( $width, $height, "canvas:transparent" ); $draw = new \ImagickDraw(); $draw->setFillColor('white'); $draw->circle( $width / 2, $height / 2, ($width / 2) + ($width / 4), $height / 2 ); $clipMask->drawImage($draw); $imagick->setImageClipMask($clipMask); $imagick->negateImage(false); $imagick->setFormat("png"); header("Content-Type: image/png"); echo $imagick->getImagesBlob(); }