0

我正在尝试通过 php 使用 Imagick 从 jpg 生成 8 位 bmp。但我希望像素颜色从索引 16 而不是 0 开始。下面的代码显示了如何以我需要的正确格式生成 bmp,但调色板索引默认为 0。有没有办法确保调色板开始在另一个索引?

$average = new Imagick("icon.jpg");
$average->setCompression(Imagick::COMPRESSION_NO);
$average->quantizeImage(32, Imagick::COLORSPACE_RGB, 0, false, false);
imagecolorset ($average, 0, 255, 255, 255);
$average->setImageFormat("bmp");

header("内容类型:图片/bmp");
回声$平均;

$平均->清除();
$average->destroy();
4

1 回答 1

0

我不认为 Imagick 有任何内置的东西,所以你必须创建一个新的调色板(从旧调色板复制颜色并带有偏移),然后使用,$pixel = $average::getImagePixelColor()然后根据新调色板进行操作。$pixel->getColor()$pixel->setColor()

于 2010-02-03T10:12:58.693 回答