Is this method deprecated?
what can we do instead ?(PECL imagick 2, PECL imagick 3)
Imagick::roundCorners — Arrondit les coins d'un image
Cette fonction est OBSOLÈTE à partir de Imagick 3.4.4. Dépendre de cette fonctionnalité est fortement déconseillé.
$x_rounding,$y_rounding,$stroke_width = 10,$displace = 5,$size_correction = -6Arrondit les coins d'une image. Les deux premiers paramètres contrôlent le niveau d'arrondi, et le troisième peut être utilisé pour affiner ce processus. Cette méthode n'est disponible que si Imagick a été compilé avec ImageMagick version 6.2.9 ou supérieur. Cette méthode n'est pas disponible si Imagick a été compilé avec ImageMagick version 7.0.0 ou supérieur.
x_roundingArrondi en x
y_roundingArrondi en y
stroke_widthLargeur du trait
displaceDéplacement de l'image
size_correctionCorrection de taille
Retourne true en cas de succès.
Exemple #1 Exemple avec Imagick::roundCorners():
Arrondit les coins d'une image.
<?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