代码之家  ›  专栏  ›  技术社区  ›  stuntboots

如何使用ImageMagick脚本文件?

  •  0
  • stuntboots  · 技术社区  · 3 年前

    我目前正在尝试使用ImageMagick创建一个包含大量其他图像的图像。每个图像都有自己的裁剪值,以及在较大图像中的位置。我不想对输出图像进行大量的读/写操作,而是想一次发送所有命令,但它太大了,无法通过命令行传递。

    我发现引用了ImageMagick的一个看似未记录的功能,脚本。然而,我似乎搞不清楚。从文档中获取这个非常简单的命令:

    magick -size 50x50 xc:skyblue an_image.png -composite output.png

    这将创建一个蓝色正方形,“粘贴” an_image.png 保存为 output.png 。然而,我很难用剧本来重现这一点:

    script.mgk:

    -size 50x50 xc:skyblue an_image.png -composite output.png
    

    命令:

    magick -script script.mgk
    

    以上输出错误:

    magik:无法打开图像“output.png”:没有这样的文件或目录@error/blob.c/OpenBlob/3569。

    尝试其他行会产生类似的错误。尽管如果 an_image.png 不存在(例如),它将打印一个错误,说明找不到该文件。

    非常感谢您的帮助!

    1 回复  |  直到 3 年前
        1
  •  2
  •   Mark Setchell    3 年前

    脚本功能已记录在案 here

    StackOverflow上也有一些例子,例如。 here , here 以及其他。

    具体来说,在命令行上,最后一项被假定为文件名,结果被写入其中。然而,当使用脚本接口时,没有这样的假设,并且您需要 -write filename 如果您想要创建一个文件。你应该能够在引用的例子中看到这一点。

    因此,具体来说,将脚本更改为:

    -size 50x50 xc:skyblue
    an_image.png -composite
    -write output.png