PHP Conference Japan 2024

Imagick::posterizeImage

(PECL imagick 2, PECL imagick 3)

Imagick::posterizeImage將影像減少到有限的顏色級別

說明

公開 Imagick::posterizeImage(整數 $levels, 布林 $dither): 布林

將影像減少到有限的顏色級別。

參數

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 則註解

1
linspb at gmail dot com
7 年前
在 PHP 7.x 之前的版本

$im->posterizeimage(2, FALSE);

需要執行

$im->setImageType(imagick::IMGTYPE_COLORSEPARATION);

在 PHP 5.x 上不用 setImageType 也可以正常運作。

範例
$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