このようなことを試しましたが、画像の背景が白くなり、必ずしも画像のアルファではありません。すべてをjpgとしてアップロードしたかったので、何らかの方法でpng画像を透過的に「フラット化」して、デフォルトで白にすることができれば、代わりにjpgとして使用できます。助けに感謝します。ありがとう。
$ old = imagecreatefrompng($ upload); $ background = imagecolorallocate($ old、255,255,255); imagefill($ old、0、0、$ background); imagealphablending( $ old、false); imagesavealpha($ old、true);
<?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);