array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'pt_BR', ), 'this' => array ( 0 => 'function.imageconvolution.php', 1 => 'imageconvolution', ), 'up' => array ( 0 => 'ref.image.php', 1 => 'Funções de GD e Image', ), 'prev' => array ( 0 => 'function.imagecolortransparent.php', 1 => 'imagecolortransparent', ), 'next' => array ( 0 => 'function.imagecopy.php', 1 => 'imagecopy', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'pt_BR', 'path' => 'reference/image/functions/imageconvolution.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
imageconvolution — Aplica uma matriz de convolução 3x3, usando coeficiente e deslocamento
Aplica uma matriz de convolução à imagem, usando o coeficiente e o deslocamento fornecidos.
image
Um objeto GdImage, retornado por uma das funções de criação de imagem, como imagecreatetruecolor().
matrix
Um matriz 3x3: um array de três arrays de três números em ponto flutuante.
divisor
O divisor do resultado da convolução, usado para normalização.
offset
Deslocamento de cor.
Versão | Descrição |
---|---|
8.0.0 |
O parâmetro image agora espera uma instância de GdImage;
anteriormente, um resource gd válido era esperado.
|
Exemplo #1 Gravando em relevo a logomarca do PHP.net
<?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 produzirá:
Exemplo #2 Desfoque gaussiano
<?php
$image = imagecreatetruecolor(180,40);
// Escreve o texto e aplica um desfoque gaussiano na imagem
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);
// Re-escreve o texto para comparação
imagestring($image, 5, 10, 18, 'Gaussian Blur Text', 0x00ff00);
header('Content-Type: image/png');
imagepng($image, null, 9);
?>
O exemplo acima produzirá: