Dutch PHP Conference 2025 - Call For Papers

Imagick::fxImage

(PECL imagick 2, PECL imagick 3)

Imagick::fxImageAvalia uma expressão para cada pixel da imagem

Descrição

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

Avalia uma expressão para cada pixel da imagem. Consulte » O Operador de Imagem de Efeitos Especiais Fx para mais informação.

Parâmetros

expression

A expressão.

channel

Forneça qualquer constante de canal válida para o modo de canal. Para aplicar a mais de um canal, combine constantes de tipo de canal usando operadores bit a bit. Consulte esta lista de constantes de canal.

Valor Retornado

Retorna true em caso de sucesso.

Erros/Exceções

Lança uma exceção ImagickException em caso de erro.

Exemplos

Exemplo #1 Exemplo de 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();
}

?>

add a note

User Contributed Notes 1 note

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