我使用PHP和Imagick更改透明PNG的颜色。 PNG中的图像是带有透明背景的简单形状。

我使用colorizeImage函数更改颜色。

$img = new Imagick("shape.png");
$img->colorizeImage("#99ccff",0.0);

问题是Imagick显示了我的十六进制代码(#99ccff)的暗色版本?

有没有办法获得确切的颜色(#99ccff)?

(我的PNG是PNG 32-形状是黑色)

最佳答案

我以为我会回答这个问题,尽管它已经很老了。这适用于其他任何有此问题的人。

我通过仅使用“Clut”来解决我正在处理的项目中的问题,如下所示:

$img = new Imagick("shape.png");
$clut = new Imagick();
$clut->newImage(1, 1, new ImagickPixel('#99ccff'));
$img->clutImage($clut);
$clut->destroy();

希望它可以帮助其他任何遇到此问题的人。

关于php - imagick colorizeImage十六进制更暗,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8192735/

10-11 01:12