我想知道此类任务的语法:我有一个文件,它是“尺寸模板” - 它有自己的宽x高。 IM 应读取此尺寸并仅使用它们来调整其他文件的大小。
目前,我有这样的命令工作:
magick template.jpg image-to-resize.jpg -resize "x%[fx:int(h/2)]" second-image-resized.jpg
但是调用此命令会输出两个图像 - 第一个和第二个图像作为输入 - 调整大小。如何告诉“fx”它应该从第一个输入图像读取尺寸?
我在 Ubuntu 22.04 上使用 IM v7.1.1。
编辑:与此同时,我在 GitHub 上的 IM 讨论板上提出了同样的问题。我从 snibgo 得到了很好的解决方案:https://github.com/ImageMagick/ImageMagick/discussions/7090#discussioncomment-8395013
此命令首先读取模板图像和输入图像。然后使用 FX 表达式调整它们的大小,然后在输出结果之前删除模板图像。
magick template.jpg image.jpg -resize "x%[fx:u.h/2]" -delete 0 resized.jpg
表达式中的“u.h”指定使用第一张图像(模板)的高度进行计算。