我正在尝试删除 PNG 文件的 alpha channel (透明度)并在 PHP 中将其替换为白色背景。
到目前为止,我已经使用 ImageMagick 尝试了几个功能,但都没有成功。这些是不起作用的功能:
$iMagick->setImageAlphaChannel(Imagick::ALPHACHANNEL_DEACTIVATE);
$iMagick->setImageBackgroundColor('#FFFFFF');
$iMagick = $iMagick->mergeImageLayers(Imagick::LAYERMETHOD_FLATTEN);
setBackgroundColor('#FFFFFF')
而不是 setImageBackgroundColor('#FFFFFF')
也没有帮助。与在这 2 个函数中将 '#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/