imageconvolution — 用系数 div 和 offset 申请一个 3x3 的卷积矩阵

2018-04-18 20:42:24
linefo
480
最后编辑:linefo 于 2018-04-18 21:00:32

imageconvolution

(PHP 5 >= 5.1.0, PHP 7)

imageconvolution用系数 div 和 offset 申请一个 3x3 的卷积矩阵

说明

bool imageconvolution ( resource $image , array $matrix , float $div , float $offset )

Applies a convolution matrix on the image, using the given coefficient and offset.

参数

image

由图象创建函数(例如imagecreatetruecolor())返回的图象资源。

matrix

A 3x3 matrix: an array of three arrays of three floats.

div

The divisor of the result of the convolution, used for normalization.

offset

Color offset.

返回值

成功时返回 TRUE, 或者在失败时返回 FALSE

范例

Example #1 Embossing the PHP.net logo

<?php
$image 
imagecreatefromgif('http://www.php.net/images/php.gif');

$emboss = array(array(200), array(0, -10), array(00, -1));
imageconvolution($image$emboss1127);

header('Content-Type: image/png');
imagepng($imagenull9);
?>

以上例程会输出:

Output of example : Embossing the PHP.net logo

Example #2 Gaussian blur

<?php
$image 
imagecreatetruecolor(180,40);

// Writes the text and apply a gaussian blur on the image
imagestring($image5108'Gaussian Blur Text'0x00ff00);
$gaussian = array(array(1.02.01.0), array(2.04.02.0), array(1.02.01.0));
imageconvolution($image$gaussian160);

// Rewrites the text for comparison
imagestring($image51018'Gaussian Blur Text'0x00ff00);

header('Content-Type: image/png');
imagepng($imagenull9);
?>

以上例程会输出:

Output of example : Gaussian blur

注释

Note: 此函数仅在与 GD 库捆绑编译的 PHP 版本中可用。

参见