International PHP Conference Berlin 2025

Imagick::filter

(PECL imagick 3 >= 3.3.0)

Imagick::filterApplique un noyau de convolution personnalisé à l'image

Avertissement

Cette fonction est OBSOLÈTE à partir de Imagick 3.4.4. Dépendre de cette fonctionnalité est fortement déconseillé.

Description

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

Applique un noyau de convolution personnalisé à l'image.

Liste de paramètres

ImagickKernel

Une instance de ImagickKernel qui représente soit un seul noyau, soit une série de noyaux liés.

channel

Fournit une constante de canal valide pour votre mode de canal. Pour l'appliquer à plus d'un canal, combinez les constantes de canaux en utilisant un opérateur sur les bits. Par défaut, vaut Imagick::CHANNEL_DEFAULT. Reportez-vous à la liste des constantes de canaux

Valeurs de retour

Retourne true en cas de succès.

Exemples

Exemple #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();
}

?>

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