(PHP 5 >= 5.1.0, PHP 7, PHP 8)
imageconvolution — Apply a 3x3 convolution matrix, using coefficient and offset
Applies a convolution matrix on the image, using the given coefficient and offset.
image
A GdImage object, returned by one of the image creation functions, such as imagecreatetruecolor().
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.
Returns true
on success or false
on failure.
Version | Description |
---|---|
8.0.0 |
image expects a GdImage
instance now; previously, a resource was expected.
|
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 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: