我正在尝试在PHP中去除PNG文件的Alpha通道(透明度)并替换为白色背景。使用ImageMagick,我已经尝试了几个函数,但到目前为止都没有成功。以下是未能工作的函数:
$iMagick->setImageAlphaChannel(Imagick::ALPHACHANNEL_DEACTIVATE);
$iMagick->setImageBackgroundColor('#FFFFFF');
$iMagick = $iMagick->mergeImageLayers(Imagick::LAYERMETHOD_FLATTEN);
同时,使用 setBackgroundColor('#FFFFFF')
替代 setImageBackgroundColor('#FFFFFF')
也没有帮助。同样,在这两个函数中将 '#FFFFFF'
替换为 'white'
也没有用。
使用 ImageMagick 3.4.0RC6(发布日期:2016-11-29),编译于 ImageMagick 6.8.9-9 Q16 x86_64 2016-03-14。当前版本(Ubuntu 16.04)。
有什么想法吗?提前感谢
ninsky
BackgroundColor(white)
,然后将所有其他带有透明区域的图像放在上面。最终效果是当它们全部透明时,你会看到白色。 - Mark Setchell