Is this method deprecated? what can we do instead ?(PECL imagick 2, PECL imagick 3)
Imagick::roundCorners — Rounds image corners
此函数在 Imagick 3.4.4 中被 废弃,强烈建议不要应用此函数。
$x_rounding,$y_rounding,$stroke_width = 10,$displace = 5,$size_correction = -6Rounds image corners. The first two parameters control the amount of rounding and the three last parameters can be used to fine-tune the rounding process. 此方法在Imagick基于ImageMagick 6.2.9以上版本编译时可用。 此方法在 Imagick 基于 ImageMagick 7.0.0 或以上版本编译时不可用。
x_roundingx rounding
y_roundingy rounding
stroke_widthstroke width
displaceimage displace
size_correctionsize correction
成功时返回 true。
示例 #1 Using Imagick::roundCorners():
Rounds the image corners
<?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