(PECL imagick 2, PECL imagick 3)
Imagick::quantizeImage — Belli bir görüntü içindeki renk miktarını bulur
$renk_sayısı,$renk_uzayı,$ağaç_derinliği,$kıpırtı,$ölçme_hatası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.
renk_sayısıRenk sayısı
renk_uzayıRenk azaltma bu renk uzayında yapılır.
ağaç_derinliğiNormalde 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ı.
Başarı durumunda true döner.
Hata durumunda bir ImagickException istisnası oluşur.
Ö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();
}
?>