PHP – добавление прозрачного PNG в GIF динамически

Я пытаюсь сделать водяной знак с кодом php, и все, кажется, работает нормально, пока я не поместил прозрачный PNG-файл в GIF. Вот что происходит:

введите описание изображения здесь

Поэтому вместо прозрачного черного водяного знака, я получаю эту полутвердую зеленую вещь сверху. Водяной знак введите описание изображения здесь

Я использую следующий код php:

... $image = imagecreatefromgif($filepath);; $watermark_image = imagecreatefrompng($wm_filepath); imagealphablending($watermark_image, false); imagesavealpha($watermark_image, true); imagegif($image, $filepath); imagedestroy($image); imagecopy($image, $watermark_image, $offset['x'], $offset['y'], 0, 0, imagesx($watermark_image), imagesy($watermark_image) ); 

ps Я должен упомянуть, что я пытался объединить разные настройки, используя

  imagealphablending() imagesavealpha() 

и не получил результата

UPD :

Теперь я сохраняю изображение как файл png. Я удалил эти два ряда imagealphablending($watermark_image, false); imagesavealpha($watermark_image, true); imagealphablending($watermark_image, false); imagesavealpha($watermark_image, true); и это сработало. Однако прозрачность PNG является перекрывающимся GIF. imagealphablending($image, true); не помогло. Что мне делать?

    Файлы GIF ограничены 256 цветами и имеют один цвет, обозначаемый как прозрачный. Таким образом, вы не можете иметь сглаженную прозрачность и не можете иметь много сглаживания любого вида.

    Я предлагаю сохранить как PNG.