(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ğ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ı.
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();
}
?>