Imagick::roundCorners

(PECL imagick 2, PECL imagick 3)

Imagick::roundCorners圆角图像

警告

此函数自 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

圆角图像。前两个参数控制圆角的程度,后三个参数可以用来微调圆角过程。如果 Imagick 编译时使用的是 ImageMagick 6.2.9 或更高版本,则可以使用此方法。如果 Imagick 编译时使用的是 ImageMagick 7.0.0 或更高版本,则无法使用此方法。

参数

x_rounding

x 圆角

y_rounding

y 圆角

stroke_width

描边宽度

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");
?>

添加笔记

用户贡献笔记 2 笔记

mmehdibalouchi at gmail dot com
6 年前
此方法已弃用吗?
我们该怎么做呢?
ar2rsoft at gmail dot com
4 年前
替代解决方案
// 示例值
$width = 250;
$height = 250;
$cornerRadius = 10;

// 创建蒙版图像
$mask = new Imagick();
$mask->newImage($width, $height, new ImagickPixel('transparent'), 'png');
// 创建圆角矩形
$shape = new ImagickDraw();
$shape->setFillColor(new ImagickPixel('black'));
$shape->roundRectangle(0, 0, $width, $height, $cornerRadius, $cornerRadius);
// 绘制矩形
$mask->drawImage($shape);
// 应用蒙版
$image->compositeImage($mask, Imagick::COMPOSITE_DSTIN, 0, 0);

我在此处找到了解决方案
https://github.com/Imagick/imagick/issues/213#issuecomment-385928740
To Top