我一直在iOS上使用Pythonista来创建一些自动化脚本。
我有一个问题,我试图从远程url抓取动画gif。我编写了以下脚本:
import Image
from urllib import urlopen
from io import BytesIO
url = "http://someurl.com/funny.gif"
img = Image.open(BytesIO(urlopen(url).read()))
我得到的图像,但它似乎只是gif的第一帧?我猜这与字节io不读取整个文件有关,但我不确定?
希望我说对了。
你就快成功了。您使用img.seek
来推进帧。所以. .
import Image
from urllib import urlopen
from io import BytesIO
url = 'http://upload.wikimedia.org/wikipedia/commons/2/2c/Rotating_earth_%28large%29.gif'
img = Image.open(BytesIO(urlopen(url).read()))
# Start with first frame
img.seek(0)
#img.show()
# Advance by one
img.seek(img.tell() + 1)
#img.show()
这是一篇展示如何使用Image类保存gif的文章。
根据枕头手册:
要保存所有帧,save_all参数必须存在并设置为True。
因此,打开的图像可以保存:
image.save('filename.gif', save_all=True)