У меня есть png-изображение с прозрачным фоном, и я хочу преобразовать его в jpg-изображение на белом фоне.
В основном это код:
$image = new Imagick('transparent.png');
$image->writeImage('opaque.jpg');
Но это создает черный фон jpg. Я боролся с худшей документацией, когда-либо пытавшейся найти способ преобразования прозрачного в белый безрезультатно.
Edit: Ну, я попробовал идею Марка Б, и я получил ее для работы.
$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();
Теперь проблема заключается в том, что она всегда вызывает script segfault.