©
                    本文档使用
                    php中文网手册 发布
                
(No version information available, might only be in Git)
Imagick::functionImage — Applies a function on the image
$function 
   ,  array $arguments 
   [,  int $channel  = Imagick::CHANNEL_DEFAULT 
  ] )Applies an arithmetic, relational, or logical expression to a pseudo image.
See also » 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 ();
 ?>   以上例程的输出类似于:
