Is this method deprecated?
what can we do instead ?
(PECL imagick 2, PECL imagick 3)
Imagick::roundCorners — Arredonda os cantos da imagem
Esta função tornou-se DEFASADA a partir da Imagick 3.4.4. O uso desta função é fortemente desencorajado.
$x_rounding
,$y_rounding
,$stroke_width
= 10,$displace
= 5,$size_correction
= -6Arredonda os cantos da imagem. Os primeiros dois parâmetros controlam a quantidade de arredondamento e os três últimos parâmetros podem ser usados para ajuste fino do processo de arredondamento. Este método estará disponível se a extensão Imagick tiver sido compilada com a ImageMagick versão 6.2.9 ou superior. Este método não estará disponível se a extensão Imagick tiver sido compilada com a ImageMagick versão 7.0.0 ou superior.
x_rounding
Arredondamento X.
y_rounding
Arredondamento Y.
stroke_width
Largura do traço.
displace
Deslocamento da imagem.
size_correction
Correção de tamanho.
Retorna true
em caso de sucesso.
Exemplo #1 Usando Imagick::roundCorners()
Arredonda os cantos da imagem.
<?php
$image = new Imagick();
$image->newPseudoImage(100, 100, "magick:rose");
$image->setImageFormat("png");
$image->roundCorners(5,3);
$image->writeImage("rounded.png");
?>
Alternative solution:
// example values
$width = 250;
$height = 250;
$cornerRadius = 10;
// create mask image
$mask = new Imagick();
$mask->newImage($width, $height, new ImagickPixel('transparent'), 'png');
// create the rounded rectangle
$shape = new ImagickDraw();
$shape->setFillColor(new ImagickPixel('black'));
$shape->roundRectangle(0, 0, $width, $height, $cornerRadius, $cornerRadius);
// draw the rectangle
$mask->drawImage($shape);
// apply mask
$image->compositeImage($mask, Imagick::COMPOSITE_DSTIN, 0, 0);
I found solution here:
https://github.com/Imagick/imagick/issues/213#issuecomment-385928740