我使用python枕头做一个简单的gif图像反转,但我发现图像变得比以前(1m)更大(10m)。谁知道怎么做? 这是我的代码:
from PIL import Image, ImageSequence
from PIL import ImagePalette
with Image.open('sd.gif') as im:
if im.is_animated:
frames = [f.copy() for f in ImageSequence.Iterator(im)]
frames.reverse()
frames[0].save('out.gif', save_all=True, append_images = frames[1:])
答案 0 :(得分:0)
如果没有检查实际图像,我无法确定,但我可以猜到可能发生的事情:
一些gifs通过一种方法进行优化,该方法可以在每个帧中找到像素中没有任何变化(或只是非常轻微地改变)的帧,并使它们透明而不是存储每个像素的颜色,以减少每个像素的数量。数据。对于一些在许多连续帧中具有大静态区域的gif,这可以是减小文件大小的非常有效的方法。
当您反转GIF时,必须首先优化帧,否则会出现没有任何数据的透明区域。这可以大大增加文件大小。不同图像之间的差异可能会有所不同。
你可以通过在创建新图像后运行一些gif优化算法来解决这个问题。
答案 1 :(得分:-1)
May I found the answer. pillow image size issue