array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'pt_BR', ), 'this' => array ( 0 => 'imagick.filter.php', 1 => 'Imagick::filter', ), 'up' => array ( 0 => 'class.imagick.php', 1 => 'Imagick', ), 'prev' => array ( 0 => 'imagick.extentimage.php', 1 => 'Imagick::extentImage', ), 'next' => array ( 0 => 'imagick.flattenimages.php', 1 => 'Imagick::flattenImages', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'en', 'path' => 'reference/imagick/imagick/filter.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PECL imagick 3 >= 3.3.0)
Imagick::filter — Applies a custom convolution kernel to the image
Esta função tornou-se DEFASADA a partir da Imagick 3.4.4. O uso desta função é fortemente desencorajado.
$ImagickKernel
, int $channel
= Imagick::CHANNEL_UNDEFINED): boolApplies a custom convolution kernel to the image.
ImagickKernel
An instance of ImagickKernel that represents either a single kernel or a linked series of kernels.
channel
Fornece qualquer constante de canal que seja válida no modo de canal. Para aplicar a mais de um canal, constantes de canal devem ser combinadas usando operadores bit a bit. O padrão é Imagick::CHANNEL_DEFAULT
. Consulte esta lista de constantes de canal
Retorna true
em caso de sucesso.
Exemplo #1 Imagick::filter()
<?php
function filter($imagePath) {
$imagick = new \Imagick(realpath($imagePath));
$matrix = [
[-1, 0, -1],
[0, 5, 0],
[-1, 0, -1],
];
$kernel = \ImagickKernel::fromMatrix($matrix);
$strength = 0.5;
$kernel->scale($strength, \Imagick::NORMALIZE_KERNEL_VALUE);
$kernel->addUnityKernel(1 - $strength);
$imagick->filter($kernel);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}
?>