代码之家  ›  专栏  ›  技术社区  ›  Red Riding Hood

从imagemagick脚本文件运行convert

  •  1
  • Red Riding Hood  · 技术社区  · 6 年前

    我正在尝试使用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 回复  |  直到 6 年前
        1
  •  2
  •   fmw42    6 年前

    -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