У меня есть сценарий, который изменяет размер загруженных изображений. Я добавил некоторые инструкции для преобразования прозрачности в GIF в белый. Обычно он работает нормально, но в некоторых случаях измененный размер GIF полностью черный. (Обратите внимание, что я использую эти изображения для PDF-файлов, поэтому я не могу использовать CSS, чтобы справиться с этим ...). Во всяком случае, я новичок, когда дело доходит до манипуляции с изображениями PHP, поэтому я не уверен, как это исправить.Изменение размера изображений GIF на черный
Вот два примера GIF. Первый работает отлично, а второй - на черный.
Вот соответствующий фрагмент кода:
elseif ($fileType == 'gif') {
$src = imagecreatefromgif($file);
$dst = imagecreatetruecolor($newWidth, $newHeight);
imagecolortransparent($dst, imagecolorallocatealpha($dst, 0, 0, 0, 127));
imagealphablending($dst, false);
imagesavealpha($dst, true);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);
imagegif($dst, $file);
}
Ни один из этих gifs не имеет прозрачности. – Mike
Второе изображение не является gif. – Havenard