2017-04-05 73 views
1

我使用python枕頭做一個簡單的gif圖像反轉,但我發現圖像已變得比以前(1米)更大的尺寸(10米)。任何人都知道如何做到這一點? 這裏是我的代碼:枕頭使圖像比以前更大尺寸

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:]) 
+1

我不清楚你的意思是10m和1m?你的意思是磁盤上的大小? – DrBwts

+0

是的,做一些我用過的話會讓你感到困惑? – Rezero

回答

0

我不能肯定地告訴但是並沒有對實際的圖像,但我能猜到可能發生的事情:

一些圖檔與發現在像素的方法優化每個幀在幀間沒有任何變化(或僅非常輕微地變化),並且使它們變爲透明而不是爲每個像素存儲顏色,以減少數據量。對於一些連續幀中有很大靜態區域的gif,這可以是減少文件大小的非常有效的方式。

當您翻轉GIF時,幀必須首先未被優化,否則會出現沒有任何數據的透明區域。這可能會增加文件的大小。不同的圖像可能會有所不同。

你可能可以通過在新圖像創建後運行一些gif優化算法來解決這個問題。