使用ImageMagick

时间:2015-05-19 19:01:14

标签: python imagemagick animated-gif

我试图通过GraphicsMagick模块或使用带有ImageMagick.exe的os.system命令使用python创建一个gif。我在这里找到的最相关的问题是大约6年前的这个问题。

Similar Question 6 years old

imagemagick下载的网址

文件:/// C:/Program%20Files/ImageMagick-6.9.1-Q16/www/binary-releases.html#windows

GraphicsMagick Download

以下是我的代码(不工作)。我正在尝试使用ImageMagick路线,因为上面的问题表明这更像是pythonic。任何帮助,将不胜感激。

from pgmagick import Image, ImageList, Geometry, Color 
import os, sys
import glob

#dataDir = sys.argv[1]
#outDir  = sys.argv[2]

dataDir = 'C:\\Users\\name\\Desktop\\a'

os.chdir(dataDir)
fileList = glob.glob(dataDir + '\*.jpg')
fileList.sort()

os.system('convert fileList -delay 20 -loop 0 *jpg animated.gif')

我的代码的最后一行出现了无效的语法错误。

1 个答案:

答案 0 :(得分:0)

对于那些在将来尝试使用imagemagick在Windows机器上制作gif时看到这个的人,这是我想出的解决方案。我不知道这是否是最有效的记忆方式,但它确实有用。

import os, sys

dataDir = 'fullpath of directory with images'
os.chdir(dataDir)


os.system('SETLOCAL EnableDelayedExpansion')
#This is the path of the imagemagick installation convert command.  
#The invalid parameter I was  getting was because the computer was trying to 
#use a different convert command.  This code sets convert as a different
#variable and then calls that new variable as the convert command.  
os.system('SET IMCONV="C:\Program Files\ImageMagick-6.9.1-Q16\Convert"')
os.system('%IMCONV% *.jpg animated.gif')

我为简化解决方案所做的一些更改。我不是像我在问题中那样制作文件列表,而是将所有图像粘贴在目录中,然后调用命令将这些图像转换为gif。这是我遇到过的最简单的解决方案。