Imagick::fxImage

(PECL imagick 2, PECL imagick 3)

Imagick::fxImage评估图像中每个像素的表达式

描述

public Imagick::fxImage(string $expression, int $channel = Imagick::CHANNEL_DEFAULT): Imagick

评估图像中每个像素的表达式。有关更多信息,请参阅 » Fx 特效图像运算符

参数

expression

表达式。

channel

提供对您的通道模式有效的任何通道常量。要应用于多个通道,请使用按位运算符组合 channeltype 常量。请参阅此 通道常量 列表。

返回值

成功时返回 true

错误/异常

错误时抛出 ImagickException。

示例

示例 #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
10 年前
请注意,fxImage 的返回值类型是新的对象(Imagick),与当前文档(布尔值)相反。因此它不会影响调用者对象。示例
<?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->fxImage("floor(s*10+0.5)/10"); 我们必须存储 fxImage() 的结果*/
$canvas= $canvas->fxImage("floor(s*10+0.5)/10");

header( "Content-Type: image/jpg" );
echo
$canvas;
?>
To Top