Scholar Repository
Home>Manual>Apply a 3x3 convolution matrix, using coefficient and offset

# imageconvolution

(PHP 5 >= 5.1.0)

imageconvolutionApply a 3x3 convolution matrix, using coefficient and offset

### Description

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

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

### Parameters

image

An image resource, returned by one of the image creation functions, such as 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.

### Return Values

Returns TRUE on success or FALSE on failure.

### Examples

Example #1 Embossing the PHP.net logo

```<?php \$image = imagecreatefromgif('http://www.php.net/images/php.gif'); \$emboss = array(array(2, 0, 0), array(0, -1, 0), array(0, 0, -1));imageconvolution(\$image, \$emboss, 1, 127); header('Content-Type: image/png');imagepng(\$image, null, 9);?>```

The above example will output:

Example #2 Gaussian blur

```<?php \$image = imagecreatetruecolor(180,40); // Writes the text and apply a gaussian blur on the imageimagestring(\$image, 5, 10, 8, 'Gaussian Blur Text', 0x00ff00);\$gaussian = array(array(1.0, 2.0, 1.0), array(2.0, 4.0, 2.0), array(1.0, 2.0, 1.0));imageconvolution(\$image, \$gaussian, 16, 0); // Rewrites the text for comparisonimagestring(\$image, 5, 10, 18, 'Gaussian Blur Text', 0x00ff00); header('Content-Type: image/png');imagepng(\$image, null, 9);?>```

The above example will output:

### Notes

Note: This function is only available if PHP is compiled with the bundled version of the GD library.