PHP 8.4.1 Released!

Imagick::levelImage

(PECL imagick 2, PECL imagick 3)

Imagick::levelImageBir görüntünün seviyelerini ayarlar

Açıklama

public Imagick::levelImage(
    float $siyah_nokta,
    float $gamma,
    float $beyaz_nokta,
    int $kanal = Imagick::CHANNEL_DEFAULT
): bool

Siyah ve beyaz noktalarla belirtilen kullanılabilir parçacık aralığının tamamına karşı düşen renkleri oranlayarak bir görüntünün seviyelerini ayarlar. Belirtilen bağımsız değişkenler siyah, gri ve beyaz noktaları belirtir. siyah_nokta görüntünün kabul edilebilir en koyu rengini belirtir. Bu noktadan daha koyu renklere sıfır atanır. gamma ile görüntüye uygulanacak gamma düzeltmesi belirtilir. beyaz_nokta görüntünün kabul edilebilir en açık rengini belirtir. Bu noktadan daha açık renklere azami parçacık değeri atanır.

Bağımsız Değişkenler

siyah_nokta

Görüntünün en koyu rengi.

gamma

Gamma düzeltmesi.

beyaz_nokta

Görüntünün en açık rengi.

kanal

Normalde kanal türü sabitlerinden biri, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::levelImage() örneği

<?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
7
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