LaravelConf Taiwan 2020 CFP Started

Imagick::fxImage

(PECL imagick 2.0.0)

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

Описание

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(200200"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();
}

?>

add a note add a note

User Contributed Notes 1 note

up
4
thomasgf22 at NOSPAM dot gmail dot com
6 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