我目前正在尝试使用 ImageMagick 创建包含大量其他图像的图像。每个图像都有自己的裁剪值以及在较大图像中的位置。我不想对输出图像进行大量读/写,而是想一次性发送所有命令,但它太大了,无法通过命令行传递。
我发现了对 ImageMagick 一个看似未记录的功能(脚本)的引用。但我似乎无法弄清楚它们。从文档中获取这个非常简单的命令:
magick -size 50x50 xc:skyblue an_image.png -复合输出.png
这将创建一个蓝色方 block ,将 an_image.png
“粘贴”到其上,并将其另存为 output.png
。然而,我什至很难用脚本重新创建这个:
脚本.mgk:
-size 50x50 xc:skyblue an_image.png -composite output.png
命令:
magick -script script.mgk
上面输出错误:
magick:无法打开图像“output.png”:没有这样的文件或目录@ error/blob.c/OpenBlob/3569。
尝试其他行会产生类似的错误。不过,如果 an_image.png
不存在(例如),它会打印一条错误,指出找不到该文件。
非常感谢任何帮助!
最佳答案
脚本功能已记录 here .
StackOverflow 上也有一些示例,例如here , here以及其他。
具体来说,在命令行上,最后一项被假定为文件名,结果将写入其中。然而,当使用脚本接口(interface)时,就没有这样的假设,如果你想创建一个文件,你需要-write filename
。您应该能够在引用的示例中看到这一点。
因此,具体来说,将脚本更改为:
-size 50x50 xc:skyblue
an_image.png -composite
-write output.png
关于command-line - 如何使用 ImageMagick 脚本文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76355532/