Imagick::fxImage

(PECL imagick 2, PECL imagick 3)

Imagick::fxImageОценивает выражение для каждого пикселя в изображении

Описание

public function Imagick::fxImage(string $expression, int $channel = Imagick::CHANNEL_DEFAULT): Imagick

Оценивает выражение для каждого пикселя в изображении. Посмотрите подробнее про » Оператор изображения Fx со специальными эффектами для получения дополнительной информации.

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

expression

Выражение

channel

Укажите любую постоянную канала, которая подходит для вашего режима канала. Чтобы применить к более чем одному каналу, объедините константы типа канала, используя побитовые операторы. Просмотрите этот список констант канала.

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

При успешном выполнении функция возвращает true.

Ошибки

При ошибке функция выбрасывает исключение ImagickException.

Примеры

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

<?php
function fxImage() {
    $imagick = new \Imagick();
    $imagick->newPseudoImage(200, 200, "xc:white");

    $fx = 'xx=i-w/2; yy=j-h/2; rr=hypot(xx,yy); (.5-rr/140)*1.2+.5';
    $fxImage = $imagick->fxImage($fx);

    header("Content-Type: image/png");
    $fxImage->setimageformat('png');
    echo $fxImage->getImageBlob();
}

?>

Добавить

Примечания пользователей 1 note

up
4
thomasgf22 at NOSPAM dot gmail dot com
12 years ago
Beware that fxImage return value's type is a new object(Imagick), opposing the current documentation (boolean). Therefore it does not affect the caller object. Example:
<?php
            $canvas = new Imagick();
            $canvas->newImage(256, 256, "white", "jpg");

            $gradient = new Imagick();
            $gradient->newPseudoImage(256, 256, "gradient:white-black");
            $canvas->compositeImage( $gradient, imagick::COMPOSITE_OVER, 0, 0 );
            $canvas->rotateImage(new ImagickPixel(), 90);
            /*instead of just $canvas->fxImage("floor(s*10+0.5)/10"); we must store fxImage()'s result*/
            $canvas= $canvas->fxImage("floor(s*10+0.5)/10");

            header( "Content-Type: image/jpg" );
            echo $canvas; 
?>
To Top