Imagick::roundCorners

(PECL imagick 2, PECL imagick 3)

Imagick::roundCornersRounds image corners

Warning

This function has been DEPRECATED as of Imagick 3.4.4. Relying on this function is highly discouraged.

Description

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. This method is available if Imagick has been compiled against ImageMagick version 6.2.9 or newer. This method is not available if Imagick has been compiled against ImageMagick version 7.0.0 or newer.

Parameters

x_rounding

x rounding

y_rounding

y rounding

stroke_width

stroke width

displace

image displace

size_correction

size correction

Return Values

Returns true on success.

Examples

Example #1 Using Imagick::roundCorners():

Rounds the image corners

<?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

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