Dutch PHP Conference 2025 - Call For Papers

Imagick::filter

(PECL imagick 3 >= 3.3.0)

Imagick::filterAplica um kernel de convolução personalizado à imagem

Aviso

Esta função tornou-se DEFASADA a partir da Imagick 3.4.4. O uso desta função é fortemente desencorajado.

Descrição

public Imagick::filter(ImagickKernel $ImagickKernel, int $channel = Imagick::CHANNEL_UNDEFINED): bool

Aplica um kernel de convolução personalizado à imagem.

Parâmetros

ImagickKernel

Uma instância de ImagickKernel que representa um único kernel ou uma série vinculada de 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

Valor Retornado

Retorna true em caso de sucesso.

Exemplos

Exemplo #1 Exemplo de 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();
}

?>

add a note

User Contributed Notes 2 notes

up
0
wangzh at dingl dot me
7 years ago
-----Imagick 3.4.3 && ImageMagick 7.0.6

-----why cannot find filter method?????

if (!method_exists(Imagick, 'filter')) {
echo 'undefined filter()!';
} else {
echo 'defined filter()!';
}
up
0
wangzh at dingl dot me
7 years ago
-----Imagick::filter cannot work!

-----suse linux server , imagick module version 3.4.3

-----run Example #1 Imagick::filter() , there is no result! where is problem?

thank you for your answer!

Alex
To Top