Imagemagick GIF 尺寸一遍又一遍地重复
Imagemagick GIF Dimensions Repeat Over and Over
我在 Python 脚本中使用 Imagemagick 标识来确定图像的尺寸。在分析动画 GIF 时,尺寸会一次又一次地重复,例如500 375500 375500 375500 375500 375500 375500 375500 375
.
为什么会这样?如何将此输出清理成简单的宽度/高度?
产生此结果的 Python 脚本:
#!/usr/bin/env python
import subprocess, logging
# identify -ping -format "%w %h" test.gif
dimensions = subprocess.check_output([
r'C:\Program Files\ImageMagick-6.9.3-Q16\identify.exe',
'-ping',
'-format',
'%w %h',
"../www/content/test.gif"
])
# b string to utf-8 string
dimensions = dimensions.decode("utf-8")
logging.warning(dimensions)
并且在日志中输出如下:
WARNING:root:500 375500 375500 375500 375500 375500 375500 375500 375
编辑
对该答案的评论是正确的 - 最好的方法是使用 image.gif[0]
。
原答案
由于 gif 动画有多个帧,所以尺寸重复了一遍又一遍。当我注意到每个 gif 的尺寸重复不同的次数时,我明白了。
我将“%w %h”更改为“%w %h;”并使用 split 来隔离第一帧。
dimensions = dimensions.decode("utf-8").split(';') #375 500
我在 Python 脚本中使用 Imagemagick 标识来确定图像的尺寸。在分析动画 GIF 时,尺寸会一次又一次地重复,例如500 375500 375500 375500 375500 375500 375500 375500 375
.
为什么会这样?如何将此输出清理成简单的宽度/高度?
产生此结果的 Python 脚本:
#!/usr/bin/env python
import subprocess, logging
# identify -ping -format "%w %h" test.gif
dimensions = subprocess.check_output([
r'C:\Program Files\ImageMagick-6.9.3-Q16\identify.exe',
'-ping',
'-format',
'%w %h',
"../www/content/test.gif"
])
# b string to utf-8 string
dimensions = dimensions.decode("utf-8")
logging.warning(dimensions)
并且在日志中输出如下:
WARNING:root:500 375500 375500 375500 375500 375500 375500 375500 375
编辑
对该答案的评论是正确的 - 最好的方法是使用 image.gif[0]
。
原答案
由于 gif 动画有多个帧,所以尺寸重复了一遍又一遍。当我注意到每个 gif 的尺寸重复不同的次数时,我明白了。
我将“%w %h”更改为“%w %h;”并使用 split 来隔离第一帧。
dimensions = dimensions.decode("utf-8").split(';') #375 500