Imagick::roundCorners
(PECL imagick 2, PECL imagick 3)
Imagick::roundCorners — 画像の角を丸める
警告
この関数は Imagick 3.4.4 以降では 非推奨 になりました。この関数に依存したコードを書くのはやめましょう。
説明
public Imagick::roundCorners(
float
float
float
float
float
): bool
float
$x_rounding
,float
$y_rounding
,float
$stroke_width
= 10,float
$displace
= 5,float
$size_correction
= -6): bool
画像の角を丸めます。 最初の 2 つのパラメータで丸める程度を制御し、 のこりの 3 つのパラメータで丸め処理をより細やかにチューニングします。 このメソッドは、ImageMagick バージョン 6.2.9 以降で Imagick をコンパイルした場合に使用可能です。 このメソッドは、ImageMagick バージョン 7.0.0 以降で Imagick をコンパイルした場合には利用できません。
パラメータ
x_rounding
-
x 方向の丸め。
y_rounding
-
y 方向の丸め。
stroke_width
-
線幅。
displace
-
image displace
size_correction
-
サイズ補正。
戻り値
成功した場合に true
を返します。
例
例1 Imagick::roundCorners() の使用法
画像の角を丸めます。
<?php
$image = new Imagick();
$image->newPseudoImage(100, 100, "magick:rose");
$image->setImageFormat("png");
$image->roundCorners(5,3);
$image->writeImage("rounded.png");
?>
+add a note
User Contributed Notes 2 notes
ar2rsoft at gmail dot com ¶
5 years ago
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