Первым делом пробовал использовать PIL. Как оказалось, сохранить неиспорченную картинку не так-то просто.
imbase = Image.open('/path/to/img.gif')<br>
imwater = Image.open('/path/to/watermark.png')<br>
frames = [frame.copy() for frame in ImageSequence.Iterator(imbase)]<br>
frames.reverse()<br>
for frame in frames:<br>
frame.paste(imwater,(imbase.size[0]-imwater.size[0],imbase.size[1]-imwater.size[1]),imwater)<br>
images2gif.writeGif('/path/to/new.gif', frames)<br>
Для сохранения использовал
images2gif. На выходе из
любого gif получается что-то вроде
этого.
Многочисленные попытки вылечить это по рецептам с stackoverflow не увенчались успехом.