从ImageMagick脚本文件运行转换

时间:2018-06-15 13:01:51

标签: imagemagick

我正在尝试使用ImageMagick通过坐标系将(数千)图像拼接在一起。由于命令太长,我无法通过CLI传递它,但必须将其保存到脚本中以便以后加载。

脚本如下所示:

script.txt

convert
( foo.png -repage +0+0 )
( bar.png -repage +0+37 )
-layers merge
out.png

然后我运行magick.exe -script script.txt

但是得到以下错误:

magick.exe: unable to open image 'convert': No such file or directory @ error/blob.c/OpenBlob/3457.
magick.exe: no decode delegate for this image format `' @ error/constitute.c/ReadImage/512.

1 个答案:

答案 0 :(得分:2)

-script命令适用于ImageMagick 7.您必须在脚本命令中显式写入输出。见http://www.imagemagick.org/Usage/bugs/IMv7_Scripting.txt

例如,这是一个简单的脚本文件,我称之为testscript

#!/path/to/magick -script
rose: -scale 200% -write big_rose.png

要运行它,您只需使用:

magick -script testscript

因此,对于您的命令,请尝试脚本

#!/path/to/magick -script
( foo.png -repage +0+0 ) ( bar.png -repage +0+37 ) -layers merge -write out.png


(注意我把它写成一行。如果你想使用多行,那么你必须使用Windows行结束字符^,在每一行的末尾显示继续到下一行)

然后将其称为

magick -script yourscript