我使用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/