Есть на сервере изображение с прозрачным фоном, надо сделать так, чтобы фон стал белым, пытаюсь так:
$url = dirname(__FILE__).'/files/number.png';
$im = imagecreatefrompng($url);
$im = ImageColorAllocateAlpha($im, 255, 255, 255, 0);
imagepng($im, $url, 0);
но не получается
Как правильно предложил @Naumov, можно создать картинку размера исходной, заполнить цветом фона и наложить поверх изображение с прозрачностью:
<?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);
via
Сборка персонального компьютера от Artline: умный выбор для современных пользователей