0
在线手册:中文 英文

Imagick::roundCorners

(PECL imagick 2, PECL imagick 3)

Imagick::roundCornersRounds image corners

警告

此函数在 Imagick 3.4.4 中被 废弃,强烈建议不要应用此函数。

说明

public Imagick::roundCorners ( float $x_rounding , float $y_rounding , float $stroke_width = 10 , float $displace = 5 , float $size_correction = -6 ) : bool

Rounds 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以上版本编译时可用。 This method is not available if Imagick has been compiled against ImageMagick version 7.0.0 or newer.

参数

x_rounding

x rounding

y_rounding

y rounding

stroke_width

stroke width

displace

image displace

size_correction

size correction

范例

示例 #1 Using Imagick::roundCorners():

Rounds the image corners

<?php

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

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

返回值

成功时返回 true

0
在线手册:中文 英文

2位用户评论

[#1] ▲-2▼ ar2rsoft@gmail.com [38%] (2019-08-26 10:05:08)

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

[#2] ▲4▼ mmehdibalouchi@gmail.com [63%] (2017-10-11 11:50:46)

Is this method deprecated? what can we do instead ?