PHP Conference Nagoya 2025

Imagick::levelImage

(PECL imagick 2, PECL imagick 3)

Imagick::levelImageAjusta los niveles de la imagen

Descripción

public Imagick::levelImage(
    float $blackPoint,
    float $gamma,
    float $whitePoint,
    int $channel = Imagick::CHANNEL_DEFAULT
): bool

Ajusta los niveles de una imagen escalando la caída de los colores entre los puntos blanco y negro especificados al rango completo de cuantía disponible. Los parámetros proporcionados representan los puntos negro, mitad, y blanco. El punto negro especifica el color más oscuro de la imagen. Los colores más oscuros que el punto negro se establecen a cero. El punto medio especifica una corrección gamma a aplicar a la imagen. Mientras que el punto blanco especifica el color más claro de la imagen. Los colores más claros que el punto blanco se establecen al valor de cuantía máximo.

Parámetros

blackPoint

El punto negro de la imagen

gamma

El valor gamma

whitePoint

El punto blanco de la imagen

channel

Proporcione cualquier constante de canal que sea válida para su modo de canal. Para aplicar más de un canal, combine las constantes channeltype usando operadores a nivel de bits. Consulte esta lista de constantes de canal.

Valores devueltos

Devuelve true en caso de éxito.

Errores/Excepciones

Lanza ImagickException en caso de error.

Ejemplos

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

?>

add a note

User Contributed Notes 1 note

up
4
Maxim Lovchikov
13 years ago
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);
To Top