I have a trouble with this method because think that quantum range is 0 - 255.
But quantum range for levelImage is 0-65535. You can get quantum range with Imagick::getQuantumRange
There is a right piece of code
$img->levelImage (0, 1.0, 65535);
(PECL imagick 2, PECL imagick 3)
Imagick::levelImage — Ajuste les niveaux de l'image
$blackPoint
,$gamma
,$whitePoint
,$channel
= Imagick::CHANNEL_DEFAULTAjuste les niveaux d'une image en modifiant les couleurs qui sont entre deux couleurs données. Les paramètres représentent le noir, le gris et le blanc. Le noir est la couleur la plus sombre dans l'image. Les couleurs qui sont plus sombres que la couleur noire sont alors mises à zéro. La couleur grise spécifie une correction gamma à appliquer à l'image. La couleur blanche spécifie la couleur la plus claire. Les couleurs plus claires sont alors mises à l'intensité maximale.
blackPoint
Le point noir de l'image
gamma
La correction gamma
whitePoint
Le point blanc de l'image
channel
Fournit une constante de canal valide pour votre mode de canal. Pour utiliser plus d'un canal, combinez les constantes de type de canal en utilisant les opérateurs de bits. Reportez-vous à la liste des constantes de canal.
Retourne true
en cas de succès.
Lance une exception ImagickException si une erreur survient.
Exemple #1 Exemple avec Imagick::levelImage()
<?php
function levelImage($blackPoint, $gamma, $whitePoint) {
$imagick = new \Imagick();
$imagick->newPseudoimage(500, 500, 'gradient:black-white');
$imagick->setFormat('png');
$quantum = $imagick->getQuantum();
$imagick->levelImage($blackPoint / 100 , $gamma, $quantum * $whitePoint / 100);
header("Content-Type: image/png");
echo $imagick->getImageBlob();
}
?>
I have a trouble with this method because think that quantum range is 0 - 255.
But quantum range for levelImage is 0-65535. You can get quantum range with Imagick::getQuantumRange
There is a right piece of code
$img->levelImage (0, 1.0, 65535);