(PHP 5 >= 5.1.0)
imageconvolution — Apply a 3x3 convolution matrix, using coefficient and offset
$image
, array $matrix
, float $div
, float $offset
)Applies a convolution matrix on the image, using the given coefficient and offset.
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.
Retorna TRUE
em caso de sucesso ou FALSE
em caso de falha.
Exemplo #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);
?>
O exemplo acima irá imprimir:
Exemplo #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);
?>
O exemplo acima irá imprimir:
Nota: Esta função somente está disponível se o PHP estiver compilado com a versão embarcada da biblioteca GD.