PHP 7.4.0RC6 Released!

Imagick::roundCorners

(PECL imagick 2.0.0)

Imagick::roundCorners画像の角を丸める

説明

Imagick::roundCorners ( 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 をコンパイルした場合に使用可能です。

パラメータ

x_rounding

x 方向の丸め。

y_rounding

y 方向の丸め。

stroke_width

線幅。

displace

image displace

size_correction

サイズ補正。

例1 Imagick::roundCorners() の使用法

画像の角を丸めます。

<?php

$image 
= new Imagick();
$image->newPseudoImage(100100"magick:rose");
$image->setImageFormat("png");

$image->roundCorners(5,3);
$image->writeImage("rounded.png");
?>

返り値

成功した場合に TRUE を返します。

add a note add a note

User Contributed Notes 2 notes

up
0
mmehdibalouchi at gmail dot com
2 years ago
Is this method deprecated?
what can we do instead ?
up
-1
ar2rsoft at gmail dot com
2 months 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
To Top