Imagick::distortImage

(PECL imagick 2 >= 2.0.1, PECL imagick 3)

Imagick::distortImageИскажает изображение, используя различные методы искажения

Описание

publicImagick::distortImage(int$method, array$arguments, bool$bestfit): bool

Искажает изображение, используя различные методы искажения, сопоставляя поисковые запросы цвета исходного изображения с новым целевым изображением, обычно того же размера, что и исходное изображение, если для параметра "bestfit" установлено значение true.

Если параметр "bestfit" включён и это позволяет искажение, целевое изображение настраивается таким образом, чтобы исходное изображение полностью соответствовало конечному целевому изображению, которое будет иметь соответствующий размер и смещение. Также во многих случаях при сопоставлении будет учитываться виртуальное смещение исходного изображения.

Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.3.6 или старше.

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

method

Метод искажения изображения. Смотрите константы искажения.

arguments

Аргументы для выбранного метода искажения.

bestfit

Попытка изменить размер места назначения, чтобы он соответствовал искажённому источнику.

Возвращаемые значения

В случае успешной работы возвращает true.

Ошибки

Вызывает ImagickException, если возникла ошибка.

Примеры

Пример #1 Пример использования Imagick::distortImage():

Искажение изображения и отображение в браузере.

<?php

$im = new Imagick();


$im->newPseudoImage(100, 100, "pattern:checkerboard");


$im->setImageFormat('png');


$im->setImageVirtualPixelMethod(Imagick::VIRTUALPIXELMETHOD_TRANSPARENT);


$im->setImageMatte(true);


$controlPoints = array( 10, 10,
10, 5,

10, $im->getImageHeight() - 20,
10, $im->getImageHeight() - 5,

$im->getImageWidth() - 10, 10,
$im->getImageWidth() - 10, 20,

$im->getImageWidth() - 10, $im->getImageHeight() - 10,
$im->getImageWidth() - 10, $im->getImageHeight() - 30);


$im->distortImage(Imagick::DISTORTION_PERSPECTIVE, $controlPoints, true);


header("Content-Type: image/png");
echo
$im;
?>

Вывод приведённого примера будет похож на:

Пример использования Imagick::distortImage()

Смотрите также

To Top