php8.5
Home/ Manual/ image / functions/ imageconvolution

imageconvolution

PHP function Edit on GitHub ✎

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Apply a 3x3 convolution matrix, using coefficient and offset

Description

imageconvolution(GdImage $image, array $matrix, float $divisor, float $offset): bool

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

Parameters

matrix

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

divisor

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

offset

Color offset.

Return Values

Success

Changelog

VersionDescription

Examples

Embossing the PHP.net logo

php
<?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: Output of example : Embossing the PHP.net logo

Gaussian blur

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

// Writes the text and apply a gaussian blur on the image
imagestring($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 comparison
imagestring($image, 5, 10, 18, 'Gaussian Blur Text', 0x00ff00);

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

The above example will output: Output of example : Gaussian blur

See Also

Source: reference/image/functions/imageconvolution.xml · from the official PHP manual (php/doc-en)