枕头使图像比以前更大

时间:2017-04-05 09:58:53

标签: python pillow

我使用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:])   

2 个答案:

答案 0 :(得分:0)

如果没有检查实际图像,我无法确定,但我可以猜到可能发生的事情:

一些gifs通过一种方法进行优化,该方法可以在每个帧中找到像素中没有任何变化(或只是非常轻微地改变)的帧,并使它们透明而不是存储每个像素的颜色,以减少每个像素的数量。数据。对于一些在许多连续帧中具有大静态区域的gif,这可以是减小文件大小的非常有效的方法。

当您反转GIF时,必须首先优化帧,否则会出现没有任何数据的透明区域。这可以大大增加文件大小。不同图像之间的差异可能会有所不同。

你可以通过在创建新图像后运行一些gif优化算法来解决这个问题。

答案 1 :(得分:-1)

May I found the answer. pillow image size issue