我正在尝试删除 PNG 文件的 alpha channel (透明度)并将其替换为 PHP 中的白色背景。
使用 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)。
有任何想法吗?提前致谢
宁斯基
最佳答案
只需省略您停用透明度并运行的第一行代码:
$iMagick->setImageBackgroundColor('#FFFFFF');
$iMagick = $iMagick->mergeImageLayers(Imagick::LAYERMETHOD_FLATTEN);
关于PHP:使用 ImageMagick 将 alpha channel 转换为白色背景,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41089170/