Php/docs/imagick.functionimage
Imagick::functionImage
(PECL imagick 2 >= 2.3.0, PECL imagick 3)
Imagick::functionImage — Applies a function on the image
说明
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 [http://www.imagemagick.org/Usage/transform/#function » ImageMagick v6 Examples - Image Transformations — Function, Multi-Argument Evaluate]
此方法在Imagick基于ImageMagick 6.4.9以上版本编译时可用。
参数
function
- Refer to this list of function constants
arguments
- Array of arguments to pass to this function.
返回值
成功时返回 true
。
错误/异常
错误时抛出 ImagickException。
范例
Example #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();?>
以上例程的输出类似于:
Example #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();?>
以上例程的输出类似于:
Example #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();?>
以上例程的输出类似于: