小编fon*_*nso的帖子

在Imagick for PHP中透明到白色

我有一个透明背景的png图像,我想将其转换为具有白色背景的jpg图像.

代码基本上是这样的:

$image = new Imagick('transparent.png');
$image->writeImage('opaque.jpg');
Run Code Online (Sandbox Code Playgroud)

但这会产生黑色背景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();
Run Code Online (Sandbox Code Playgroud)

现在的问题是,它总是导致脚本出现段错误.

php imagick

19
推荐指数
4
解决办法
1万
查看次数

标签 统计

imagick ×1

php ×1