-----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()!';
}
(PECL imagick 3 >= 3.3.0)
Imagick::filter — Applique un noyau de convolution personnalisé à l'image
Cette fonction est OBSOLÈTE à partir de Imagick 3.4.4. Dépendre de cette fonctionnalité est fortement déconseillé.
$ImagickKernel
, int $channel
= Imagick::CHANNEL_UNDEFINED): boolApplique un noyau de convolution personnalisé à l'image.
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
Retourne true
en cas de succès.
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();
}
?>
-----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()!';
}
-----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