На момент написания вы не указали, какое расширение вы используете, но если бы вы использовали командную строку, команда была бы:
convert image.png -background white -flatten -alpha off image.jpg
Более подробную информацию можно найти на Документация по использованию маскирования .
Используя, например, IMagick, я думаю, вы могли бы сделать это следующим образом:
(полностью не проверено, никогда не использовал IMagick и не устанавливал егопроверить)
$image = new IMagick('image.png');
$flattened = new IMagick();
$flattened->newImage($image->getImageWidth(), $image->getImageHeight(), new ImagickPixel("white"));
$flattened->compositeImage($image, imagick::COMPOSITE_OVER, 0, 0);
$flattened->setImageFormat("jpg");
$flattened->writeImage('image.jpg');
$image->clear();
$image->destroy();
$flattened->clear();
$flattened->destroy();