©
This document uses PHP Chinese website manual Release
(PECL imagick 2.0.0)
Imagick::fxImage — Evaluate expression for each pixel in the image
$expression
[, int $channel
= Imagick::CHANNEL_ALL
] )Evaluate expression for each pixel in the image. Consult » The Fx Special Effects Image Operator for more information.
expression
The expression.
channel
Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.
成功时返回 TRUE
。
错误时抛出 ImagickException。
Example #1 Imagick::fxImage()
<?php
function fxImage () {
$imagick = new \ Imagick ();
$imagick -> newPseudoImage ( 200 , 200 , "xc:white" );
$fx = 'xx=i-w/2; yy=j-h/2; rr=hypot(xx,yy); (.5-rr/140)*1.2+.5' ;
$fxImage = $imagick -> fxImage ( $fx );
header ( "Content-Type: image/png" );
$fxImage -> setimageformat ( 'png' );
echo $fxImage -> getImageBlob ();
}
?>
[#1] thomasgf22 at NOSPAM dot gmail dot com [2014-05-16 14:00:36]
Beware that fxImage return value's type is a new object(Imagick), opposing the current documentation (boolean). Therefore it does not affect the caller object. Example:
<?php
$canvas = new Imagick();
$canvas->newImage(256, 256, "white", "jpg");
$gradient = new Imagick();
$gradient->newPseudoImage(256, 256, "gradient:white-black");
$canvas->compositeImage( $gradient, imagick::COMPOSITE_OVER, 0, 0 );
$canvas->rotateImage(new ImagickPixel(), 90);
$canvas= $canvas->fxImage("floor(s*10+0.5)/10");
header( "Content-Type: image/jpg" );
echo $canvas;
?>