Задать вопрос

Почему у GD imagegif не работает прозрачность?

Есть код:

$resourceImg = imagecreatefromstring($frames[$i]);
$width = imagesx($resourceImg);
$height = imagesy($resourceImg);
$image = imagecreatetruecolor($width, $height);
$bgcolor = imagecolorallocatealpha($image,  0x7f, 0x7f, 0x7f, 0);
imagefill($image, 0, 0, $bgcolor);
imagecopyresampled($image, $resourceImg, 0, 0, 0, 0, $width, $height, $width, $height);
imagesavealpha($image, true);
imagealphablending($image, true);
imagecolortransparent($image, $bgcolor);

ob_start();
imagegif($image);
$this->frameSources[] = ob_get_contents();
ob_end_clean();

imagedestroy($image);


По сути выходящий gif должен быть с прозрачностью, однако он выходит с серым фоном. Так же пробовал imagecolorallocate с 255,255,255 - гифка получает белый фон, но не прозрачный.
Что не так, почему не получается сделать прозрачный gif?
  • Вопрос задан
  • 66 просмотров
Подписаться 1 Сложный Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
Kodenkos
@Kodenkos
Фрилансер
0 по альфе полностью не прозрачный и по умолчанию он имеет значение 0
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы