PHP 8.6.0 Beta 1 is available for testing

Imagick::posterizeImage

(PECL imagick 2, PECL imagick 3)

Imagick::posterizeImageReduces the image to a limited number of color level

Description

public function Imagick::posterizeImage(int $levels, bool $dither): bool

Reduces the image to a limited number of color level.

Parameters

levels
dither

Return Values

Returns true on success.

Examples

Example #1 Imagick::posterizeImage()

<?php
function posterizeImage($imagePath, $posterizeType, $numberLevels) {
 $imagick = new \Imagick(realpath($imagePath));
 $imagick->posterizeImage($numberLevels, $posterizeType);
 $imagick->setImageFormat('png');
 header("Content-Type: image/png");
 echo $imagick->getImageBlob();
}
posterizeImage($imagePath, \Imagick::DITHERMETHOD_RIEMERSMA, 8);
?>

Found A Problem?

Learn How To Improve This PageSubmit a Pull RequestReport a Bug
+add a note

User Contributed Notes 1 note

up
1
linspb at gmail dot com
9 years ago
At PHP 7.x before
$im->posterizeimage(2, FALSE);
do
$im->setImageType(imagick::IMGTYPE_COLORSEPARATION);
on PHP 5.x working without setImageType well.
Example:
$im = new Imagick();
$r = $im->readImageBlob($label);
if (!$r) {
 return FALSE;
}
$im->setImageType(imagick::IMGTYPE_COLORSEPARATION);
$im->posterizeimage(2, 0);
$bmp = $im->getImageBlob();
+add a note

AltStyle によって変換されたページ (->オリジナル) /