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);