我使用
PHP和Imagick来改变透明PNG的颜色. PNG中的图像是具有透明背景的简单形状.
我使用colorizeImage函数来改变颜色.
$img = new Imagick("shape.png");
$img->colorizeImage("#99ccff",0.0);
问题是Imagick显示我的HEX代码的黑暗版本(#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();
希望它可以帮助其他人解决这个问题.