首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Imagick::functionImage

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

Imagick::functionImage — Applies a function on the image

Description

代码语言:javascript
复制
public bool Imagick::functionImage ( int $function , array $arguments [, int $channel = Imagick::CHANNEL_DEFAULT ] )

Applies an arithmetic, relational, or logical expression to a pseudo image.

This method is available if Imagick has been compiled against ImageMagick version 6.4.9 or newer.

Parameters

function

Refer to this list of function constants

arguments

Array of arguments to pass to this function.

Return Values

Returns TRUE on success.

Errors/Exceptions

Throws ImagickException on error.

Examples

Example #1 Create a sinusoidal gradient

代码语言:javascript
复制
<?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();
?>

The above example will output something similar to:

Example #2 Create a gradient from the polynomial (4x^2 - 4x + 1)

代码语言:javascript
复制
<?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();
?>

The above example will output something similar to:

Example #3 Create a complex gradient from the polynomial (4x^2 - 4x^2 + 1) modulated by a sinusoidal gradient

代码语言:javascript
复制
<?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();
?>

The above example will output something similar to:

← Imagick::frameImage

Imagick::fxImage →

代码语言:txt
复制
 ? 1997–2017 The PHP Documentation Group

Licensed under the Creative Commons Attribution License v3.0 or later.

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com