我想使用python和PIL或PythonMagick更改GIF動畫圖像的大小。我找不到解決方案。 PIL和縮略圖方法適用於jpg和png,但不適用於gif。 ImageMagick有命令mogrify/convert-resize'1280x1024>',但我找不到文檔,我不知道如何用pythonmagick做到這一點。調整GIF動畫,pil/imagemagick,python
有誰知道解決方案?
在我使用OS /子進程和轉換最壞的情況下; -S
感謝。
我想使用python和PIL或PythonMagick更改GIF動畫圖像的大小。我找不到解決方案。 PIL和縮略圖方法適用於jpg和png,但不適用於gif。 ImageMagick有命令mogrify/convert-resize'1280x1024>',但我找不到文檔,我不知道如何用pythonmagick做到這一點。調整GIF動畫,pil/imagemagick,python
有誰知道解決方案?
在我使用OS /子進程和轉換最壞的情況下; -S
感謝。
您可以使用PIL和images2gif
,這個blog page上連接的基於PIL的短模塊,以及可用的here。用於處理這個rose.gif
的代碼如下。我將images2gif.readGif
'讀爲numpy數組'屬性設置爲false
以獲取PIL圖像列表,以便我可以使用PIL thumbnail
函數。
Orignial:加工:
import Image
import images2gif
frames = images2gif.readGif("rose.gif",False)
for frame in frames:
frame.thumbnail((100,100), Image.ANTIALIAS)
images2gif.writeGif('rose99.gif', frames)
我不知道如何保留透明度,我嘗試這樣做都失敗了(到目前爲止)。
如何保存動畫速度? – 2012-09-05 16:09:50
根據http://www.velocityreviews.com/forums/t354000-pil-and-transparent-gifs.html,你必須自己處理透明度,透明度= im.info [「transparency」]; ...; out.save(「out.gif」,transparency = transparency) – Collin 2012-09-22 03:19:03
一些了不起的人發images2gif.py的更新版本,佔透明度:
https://bitbucket.org/bench/images2gif.py/overview
還有一些文物,但它的方式比原來的更好!
第一次嘗試失敗 - 調色板列表看起來像[None,None .. None]並嘗試將其寫入新文件。不幸的是,當一段代碼不包含測試時,這就是你所期望的。原始的一個至少給出了一個有意義的消息:'RuntimeError:無法獲得調色板。也許你應該試試imageio。「 – 2015-07-08 13:54:22
我會推薦你在此期間做到這一點 - 使用子進程和轉換。 Pythonmagic遭受這種缺乏適當維護的困擾 - 而PIL只支持讀取動畫GIF,而沒有其他。讓問題保持開放 - 也許有人用psmaped來做Pythonmagic的調整大小顯示出來。 – jsbueno 2012-04-03 14:22:10