imageconvolution

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

imageconvolutionAplica una matriz de convolución 3x3, utilizando el coeficiente y el desplazamiento

Descripción

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

imageconvolution() aplica una matriz de convolución 3x3, utilizando el coeficiente div y el desplazamiento offset.

Parámetros

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.

Valores devueltos

Devuelve true en caso de éxito o false en caso de error.

Historial de cambios

Versión Descripción
8.0.0 image expects a GdImage instance now; previously, a valid gd resource was expected.

Ejemplos

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:

imageconvolution_emboss.png

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:

Visualización del ejemplo: Desenfoque gaussiano

Ver también