AnimGif создать GIF с прозрачным фоном

Я использую класс https://github.com/lunakid/AnimGif. это анимировало меня 4 созданными изображениями png в gif. Ну без imagetruecolortopalette картинка имеет плохое качество (пиксельное). С imagetruecolortopalette прозрачный фон теряется.

Кодекс должен был вырезать изображение с помощью трафарета и накладывать на другое изображение, которое также было вырезано с помощью трафарета.

Пример шаблона

Вот код:

$im = imagecreatetruecolor(64, 110);

$farbe_body = imagecolorallocate( $im, 255, 0, 255);
imagefill ( $im, 0, 0, $farbe_body );

imagecolortransparent($im, $farbe_body);

$userimage = imagecreatefromstring("$userimage");
imagecopy($im, $userimage, 0, 0, 0, 0, 64, 80);

$cut = imagecreatefromgif("cut_image.gif");
imagecopy($im_1, $cut, 0, 0, 0, 0, 64, 110);



$im_1 = imagecreatetruecolor(110, 110);

$farbe_body_1 = imagecolorallocate ( $im_1, 255, 0, 255 );

imagefill ( $im_1, 0, 0, $farbe_body_1 );
imagecolortransparent($im_1, $farbe_body_1);

$userimage_2 = imagecreatefromstring("$userimage");
imagecopy($im_1, $userimage_2, -3, 0, 0, 0, 64, 90);

$farbe_body_2 = imagecolorallocate ( $im_1, 255, 0, 255 );
imagefill ( $im_3, 0, 0, $farbe_body_2 );
imagecolortransparent($im_1, $farbe_body_2);

$farbe_body_3 = imagecolorallocate($im_1, 255, 0, 255);
$cut_2 = imagecreatefromgif("cut_image_2.gif");

imagecopy($im_1, $cut_2, 0, -1, 0, 0, 64, 110);
imagecolortransparent($im_1, $farbe_body_3);

imagecopymerge($im, $im_1, 3, 0, 0, 0, 64, 110, 100);


$frames = array($im);

$durations = array(20, 20, 20, 20);

$gc = new GifCreator\GifCreator();
$gc->create($frames, $durations, 5);

$gifBinary = $gc->getGif();

header('Content-type: image/gif');
header('Content-Disposition: filename="butterfly.gif"');
echo $gifBinary;
exit;

person Bart    schedule 06.05.2019    source источник
comment
Кажется, вам нужно использовать imagesavealpha(), как предложено в этом сообщении: сохранение прозрачности"> stackoverflow.com/questions/2622319/   -  person Ugo T.    schedule 06.05.2019
comment
уже попробовал. но не решает проблему.   -  person Bart    schedule 06.05.2019
comment
Возможный дубликат PHP/GD - прозрачный фон   -  person miken32    schedule 06.05.2019
comment
Это работает, но только когда я создаю одно простое изображение. Когда я пытаюсь создать прозрачное изображение с другим прозрачным изображением, оно не работает. Фон становится черным, а не прозрачным.   -  person Bart    schedule 07.05.2019