command-line - 如何使用 ImageMagick 脚本文件?

标签 command-line imagemagick

我目前正在尝试使用 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/

相关文章:

python - 如何从 python 在后台运行 imagemagick

windows - 设置环境变量窗口

python - 使用 PIL 查找图像中透明区域的位置

ruby-on-rails - 回形针找不到 imagemagick

linux - 将 Kodak PhotoCD 图像目录转换为 TIFF 格式

node.js - 使用node-imagemagick将 'crop'图像上传到S3

python - 如何使用python Popen自动输入并将控制权返回到命令行

shell - 如何使用命令行将多个文件解压缩到多个同名文件夹中?

configuration - 命令行参数或配置文件?

opencv - 比较两个图像并获得百分比差异