ConFoo 2025

Imagick::quantizeImage

(PECL imagick 2, PECL imagick 3)

Imagick::quantizeImageBelli bir görüntü içindeki renk miktarını bulur

Açıklama

public Imagick::quantizeImage(
    int $renk_sayısı,
    int $renk_uzayı,
    int $ağaç_derinliği,
    bool $kıpırtı,
    bool $ölçme_hatası
): bool

Belli bir görüntü içindeki renkleri inceleyip görüntüyü ifade edebilecek sayıda renk seçer. Algoritmanın amacı, girdi ve çıktı görüntüleri arasındaki renk farkını en aza indirerek işlem zamanını kısaltmaktır.

Bağımsız Değişkenler

renk_sayısı

Renk sayısı

renk_uzayı

Renk azaltma bu renk uzayında yapılır.

ağaç_derinliği

Normalde sıfır ya da bir olup, bu takdirde renk sayısına en uygun ağaç seçilir. Ağaç derinliği, en az bellek harcayarak en yüksek işlem hızında görüntünün en iyi nasıl ifade edilececeğini belirler. Renk ağacını tam boyutuna genişletmek için 8 kullanın.

kıpırtı

Sıfırdan büyük bir değer komşu pikseller arasındaki farkı dağıtır.

ölçme_hatası

Özgün görüntü ile işlem görmüş görüntü arasındaki farkın ölçüsü olarak sıfırdan farklı bir tamsayı.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::quantizeImage()

<?php
function quantizeImage($imagePath, $numberColors, $colorSpace, $treeDepth, $dither) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->quantizeImage($numberColors, $colorSpace, $treeDepth, $dither, false);
$imagick->setImageFormat('png');
header("Content-Type: image/png");
echo
$imagick->getImageBlob();
}

?>

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top