我有一个透明背景的 png 图像,我想将其转换为具有白色背景的 jpg 图像。
代码基本上是这样的:
$image = new Imagick('transparent.png');
$image->writeImage('opaque.jpg');
但这会产生黑色背景jpg。我一直在努力处理最糟糕的文档,试图找到一种将透明转换为白色的方法,但无济于事。
编辑:嗯,我尝试了 Marc B 的想法并且有点让它发挥作用。
$image = new Imagick('transparent.png');
$white = new Imagick();
$white->newImage($image->getImageWidth(), $image->getImageHeight(), "white");
$white->compositeimage($image, Imagick::COMPOSITE_OVER, 0, 0);
$white->writeImage('opaque.jpg');
$image->destroy();
$white->destroy();
现在的问题是,它总是导致脚本出现段错误。