Слияние: png + gif + gif +png

Задача: требуется объединить (т.е. наложить друг на друга две анимированных gif, одну png с прозрачным фоном и фоновую png).

Пытаюсь реализовать это на Python через PIL. Пока получилось добавить фон к одной gif, но такое ощущение что я через пятку чешу ухо - сначала разбил gif на фреймы, объединил каждый фрейм с фоном, объединил все фреймы в одну gif. Но таким методом наложить две gif одна на другую не получится.

Есть ли какие-то действенные методы сделать это? Рассматриваю любые способы и языки (не обязательно Python), но обязательно в виде кода.


Ответы (1 шт):

Автор решения: Anaconda

С помощью Python Pillow можно так сделать. К примеру:

from PIL import Image
 
im1 = Image.open('fon.jpg')
im2 = Image.open('guido-van-rossum.jpg')
 
im1.paste(im2)
im1.save('fon_pillow_paste.jpg', quality=95)
 
im1.close()
im2.close()

По умолчанию изображение вставляется в верхней левой части фоновой картинки.

Если Вы хотите узнать о такой теме подробнее, то рекомендую почитать эти статьи: Как вставить одно изображение в другое используя Pillow, Используем Python Pillow для вставки текста и изображения в картинку и Простое наложение изображений в Python. Лично мне очень нравится первая статья.

→ Ссылка