(PECL imagick 2 >= 2.3.0, PECL imagick 3)
Imagick::functionImage — Applies a function on the image
$function
, array $arguments
, int $channel
= Imagick::CHANNEL_DEFAULT): boolApplies an arithmetic, relational, or logical expression to a pseudo image.
See also » ImageMagick v6 Examples - Image Transformations — Function, Multi-Argument Evaluate
Diese Funktion ist verfügbar, wenn Imagick gegen die ImageMagick-Version 6.4.9 oder höher kompiliert wurde.
function
Refer to this list of function constants
arguments
Array of arguments to pass to this function.
Liefert true
bei Erfolg.
Wirft ImagickException bei Fehlern.
Beispiel #1 Create a sinusoidal gradient
<?php
$imagick = new Imagick();
$imagick->newPseudoImage(200, 200, 'gradient:black-white');
$arguments = array(3, -90);
$imagick->functionImage(Imagick::FUNCTION_SINUSOID, $arguments);
header("Content-Type: image/png");
$imagick->setImageFormat("png");
echo $imagick->getImageBlob();
?>
Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:
Beispiel #2 Create a gradient from the polynomial (4x^2 - 4x + 1)
<?php
$imagick = new Imagick();
$imagick->newPseudoImage(200, 200, 'gradient:black-white');
$arguments = array(4, -4, 1);
$imagick->functionImage(Imagick::FUNCTION_POLYNOMIAL, $arguments);
header("Content-Type: image/png");
$imagick->setimageformat("png");
echo $imagick->getImageBlob();
?>
Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:
Beispiel #3 Create a complex gradient from the polynomial (4x^2 - 4x^2 + 1) modulated by a sinusoidal gradient
<?php
$imagick1 = new Imagick();
$imagick1->newPseudoImage(200, 200, 'gradient:black-white');
$arguments = array(9, -90);
$imagick1->functionImage(Imagick::FUNCTION_SINUSOID, $arguments);
$imagick2 = new Imagick();
$imagick2->newPseudoImage(200, 200, 'gradient:black-white');
$arguments = array(0.5, 0);
$imagick2->functionImage(Imagick::FUNCTION_SINUSOID, $arguments);
$imagick1->compositeimage($imagick2, Imagick::COMPOSITE_MULTIPLY, 0, 0);
header("Content-Type: image/png");
$imagick1->setImageFormat("png");
echo $imagick1->getImageBlob();
?>
Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie: