文字

Imagick::functionImage

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

Imagick::functionImageApplies a function on the image

说明

public bool Imagick::functionImage ( int $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 ();
?>

以上例程的输出类似于:

Output of create a sinusoidal gradient

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 ();
?>

以上例程的输出类似于:

Output of create a polynomial gradient

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 ();
?>

以上例程的输出类似于:

Output of create complex gradient
上一篇: 下一篇: