Imagick::functionImage

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

Imagick::functionImageApplies a function on the image

Descrição

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

Applies an arithmetic, relational, or logical expression to a pseudo image.

See also » ImageMagick v6 Examples - Image Transformations — Function, Multi-Argument Evaluate

Este método está disponível se o PHP foi compilado com o ImageMagick versão 6.4.9 ou superior.

Parâmetros

function

Refer to this list of function constants

arguments

Array of arguments to pass to this function.

Valor Retornado

Retorna true no sucesso.

Erros

Lança ImagickException em caso de erro.

Exemplos

Exemplo #1 Create a sinusoidal gradient

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

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

O exemplo acima irá imprimir algo similar à:

Output of create a sinusoidal gradient

Exemplo #2 Create a gradient from the polynomial (4x^2 - 4x + 1)

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

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

O exemplo acima irá imprimir algo similar à:

Output of create a polynomial gradient

Exemplo #3 Create a complex gradient from the polynomial (4x^2 - 4x^2 + 1) modulated by a sinusoidal gradient

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

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

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

O exemplo acima irá imprimir algo similar à:

Output of create complex gradient

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top