Is this method deprecated?
what can we do instead ?
(PECL imagick 2, PECL imagick 3)
Imagick::roundCorners — Görüntünün köşelerini yuvarlatır
Imagick 3.4.4 itibariyle bu işlevin kullanımı ÖNERİLMEMEKTEDİR. Bu işleve asla güvenilmemelidir.
$x_yarıçapı
,$y_yarıçapı
,$vurgu_genişliği
= 10,$yer_değiştirme
= 5,$boyut_düzeltme
= -6Görüntünün köşelerini yuvarlatır. İlk iki bağımsız değişken yuvarlatma miktarını belirlerken, son üç bağımsız değişken ise yuvarlatma işleminin hassas ayarı için kullanılır. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.2.9 veya sonraki bir sürümü kuruluysa kullanılabilir. Imagick, ImageMagick 7.0.0 veya daha yeni bir sürümle derlenmişse bu yöntem kullanılamaz.
x_yarıçapı
X yarıçapı.
y_yarıçapı
Y yarıçapı.
vurgu_genişliği
Vurgu genişliği
yer_değiştirme
Yer değiştirme miktarı.
boyut_düzeltme
Boyut düzeltme miktarı.
Başarı durumunda true
döner.
Örnek 1 - Imagick::roundCorners() örneği
<?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