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 — Ajusta os níveis de uma imagem
$blackPoint
,$gamma
,$whitePoint
,$channel
= Imagick::CHANNEL_DEFAULTAjusta os níveis de uma imagem dimensionando as cores que ficam entre os pontos brancos e pretos especificados para toda a faixa de Quantum disponível. Os parâmetros fornecidos representam os pontos preto, médio e branco. O ponto preto especifica a cor mais escura da imagem. As cores mais escuras que o ponto preto são definidas como zero. O ponto médio especifica uma correção gama a ser aplicada à imagem. O ponto branco especifica a cor mais clara da imagem. As cores mais claras que o ponto branco são definidas com o valor máximo de Quantum.
blackPoint
O ponto preto da imagem.
gamma
O valor de gama.
whitePoint
O ponto branco da imagem.
channel
Forneça qualquer constante de canal válida para o modo de canal. Para aplicar a mais de um canal, combine constantes de tipo de canal usando operadores bit a bit. Consulte esta lista de constantes de canal.
Retorna true
em caso de sucesso.
Lança uma exceção ImagickException em caso de erro.
Exemplo #1 Exemplo de 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);