(PHP 5 >= 5.1.0, PHP 7, PHP 8)
imageconvolution — Aplica una matriz de convolución 3x3, utilizando el coeficiente y el desplazamiento
imageconvolution() aplica una matriz de convolución
3x3, utilizando el coeficiente div
y el desplazamiento
offset
.
image
Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().
matrix
Una matriz 3x3: un array que contiene tres arrays de tres números de punto flotante.
divisor
El divisor del resultado de la convolución, utilizado para la normalización.
offset
La posición del color.
Versión | Descripción |
---|---|
8.0.0 |
image expects a GdImage
instance now; previously, a valid gd resource was expected.
|
Ejemplo #1 Impresión del logo PHP.net con imageconvolution()
<?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);
?>
El resultado del ejemplo sería:
Ejemplo #2 Desenfoque gaussiano con imageconvolution()
<?php
$image = imagecreatetruecolor(180,40);
// Escribe el texto y aplica un desenfoque gaussiano a la imagen
imagestring($image, 5, 10, 8, 'Texto desenfocado gaussiano', 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);
// Reescribe el texto para la comparación
imagestring($image, 5, 10, 18, 'Texto desenfocado gaussiano', 0x00ff00);
header('Content-Type: image/png');
imagepng($image, null, 9);
?>
El resultado del ejemplo sería: