我正在尝试删除 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/

10-14 13:01