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

Почему у 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?
  • Вопрос задан
  • 63 просмотра
Подписаться 1 Сложный Комментировать
Пригласить эксперта
Ответы на вопрос 1
Kodenkos
@Kodenkos
Фрилансер
0 по альфе полностью не прозрачный и по умолчанию он имеет значение 0
Ответ написан
Ваш ответ на вопрос

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

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