PHP 8.4.2 Released!

Imagick::posterizeImage

(PECL imagick 2, PECL imagick 3)

Imagick::posterizeImageУменьшает изображение до ограниченного количества уровней цвета

Описание

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

Уменьшает изображение до ограниченного количества уровней цвета.

Список параметров

levels

dither

Возвращаемые значения

Функция в случае успешной работы возвращает true.

Примеры

Пример #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);

?>

Добавить

Примечания пользователей 1 note

up
1
linspb at gmail dot com
7 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();
To Top