在 Imagick for PHP 中透明到白色
我有一个透明背景的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();
现在的问题是,它总是导致脚本发生故障。