GD! Преобразование png-изображения в jpeg и создание альфы по умолчанию белого цвета, а не черного

Я пробовал что-то вроде этого, но он просто делает фон изображения белым, не обязательно альфа-изображения. Я хотел просто загрузить все как jpg, так что, если бы я мог каким-то образом "сгладить" изображение png с прозрачным по умолчанию, он просто был белым, поэтому я могу использовать его как jpg. Цените любую помощь. Спасибо.

$old = imagecreatefrompng($upload);
$background = imagecolorallocate($old,255,255,255);
imagefill($old, 0, 0, $background);
imagealphablending($old, false);
imagesavealpha($old, true);

Ответ 1

<?php
$input_file = "test.png";
$output_file = "test.jpg";

$input = imagecreatefrompng($input_file);
list($width, $height) = getimagesize($input_file);
$output = imagecreatetruecolor($width, $height);
$white = imagecolorallocate($output,  255, 255, 255);
imagefilledrectangle($output, 0, 0, $width, $height, $white);
imagecopy($output, $input, 0, 0, 0, 0, $width, $height);
imagejpeg($output, $output_file);