我正在尝试使用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.
答案 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