Imagick::functionImage

(No version information available, might only be in Git)

Imagick::functionImageAplica una función a la imagen

Descripción

public Imagick::functionImage ( int $function , array $arguments [, int $channel = Imagick::CHANNEL_DEFAULT ] ) : bool

Aplica una expresión aritmética, relacional o lógica a una imagen.

Véase también » ImageMagick v6 Examples - Image Transformations — Function, Multi-Argument Evaluate

Este método está disponible si Imagick ha sido compilado con la versión 6.4.9 o superior de ImageMagick.

Parámetros

function

Consulte esta lista de constantes de función

arguments

Array de argumentos a pasar a esta función.

Valores devueltos

Devuelve TRUE en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Ejemplos

Ejemplo #1 Crear un degradado sinusoide

<?php
$imagick 
= new Imagick();
$imagick->newPseudoImage(200200'gradient:black-white');
$argumentos = array(3, -90);
$imagick->functionImage(Imagick::FUNCTION_SINUSOID$argumentos);

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

El resultado del ejemplo sería algo similar a:

Salida de crear un degradado sinusoidal

Ejemplo #2 Crear un degradado desde el polinomio (4x^2 - 4x + 1)

<?php
$imagick 
= new Imagick();
$imagick->newPseudoImage(200200'gradient:black-white');
$argumentos = array(4, -41);
$imagick->functionImage(Imagick::FUNCTION_POLYNOMIAL$argumentos);

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

El resultado del ejemplo sería algo similar a:

Salida de crear un degradado polinómico

Ejemplo #3 Crear un degradao complejo a partir del polinomio (4x^2 - 4x^2 + 1) modulado por un degradao sinusoide

<?php
$imagick1 
= new Imagick();
$imagick1->newPseudoImage(200200'gradient:black-white');
$argumentos = array(9, -90);
$imagick1->functionImage(Imagick::FUNCTION_SINUSOID$argumentos);

$imagick2 = new Imagick();
$imagick2->newPseudoImage(200200'gradient:black-white');
$argumentos = array(0.50);
$imagick2->functionImage(Imagick::FUNCTION_SINUSOID$argumentos);
$imagick1->compositeimage($imagick2Imagick::COMPOSITE_MULTIPLY00);

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

El resultado del ejemplo sería algo similar a:

Salida de craer un degradado complejo