PHP 8.4.0 RC4 available for testing

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.70или старше.

Список параметров

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 notes

up
4
mmehdibalouchi at gmail dot com
7 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