ImageMagick参数指定输出格式

时间:2017-05-01 21:56:34

标签: imagemagick

我正在以编程方式使用ImageMagick将一些用户定义的转换应用于图像。我正在使用的脚本生成一个新进程并运行ImageMagick,其参数类似于:

convert /tmp/source -resize 100x /tmp/transformed

然后它从/tmp/transformed读取转换后的图像。我想添加将图像转换为另一种图像格式的选项,但是从查看IM文档一段时间后,我能看到的唯一方法是使用.<ext>附加输出目标,像这样:

convert /tmp/source -resize 100x /tmp/transformed.png

还有其他方法吗?使用预先存在的脚本执行此操作的最简单方法是提供参数,但我找不到它。类似的东西:

convert /tmp/source -resize 100x -format png /tmp/transformed

这可能吗?或者我不得不将扩展名附加到输出目的地?

2 个答案:

答案 0 :(得分:2)

我不确定你对于添加后缀有什么厌恶,但Fred的优秀建议的另一种选择是使用“格式说明符”前缀,这会使你的基本文件名保持不变 - 如果这就是你想要实现的目标。

convert Image -resize 100x PNG:/tmp/transformed/Image

PNG:GIF:等代替JPEG:以适应。

答案 1 :(得分:1)

-format png用于mogrify而不是我理解的转换。您需要为输入指定后缀,并为输入和输出文件名中的输出指定所需的后缀。

new NavItem({
    key: "sales",
    target: "sales",
    text: "Sales"
})

假设png是所需的输出格式。

也许我误解了你想要的东西。如果是,请澄清。源和变换变量中的后缀是什么?如果是这样,您可以使用IM以字符串格式使用%t和%e将源文件名与其后缀分开。但是对于输出,您必须使用文件系统解析它。见http://www.imagemagick.org/script/escape.php

或者,使用支持-format png

的mogrify
convert /tmp/source.suffx -resize 100x /tmp/transformed.png

这将使输入目录中的每个文件都带有后缀.suffix并将其转换为png。但是,我建议您创建一个新目录来保存所有输出图像,因为它会覆盖您的输入文件。然后,您需要将-path path2 / newdirectory添加到上面的命令中。见http://www.imagemagick.org/Usage/basics/#mogrify

与源和目标相关联的实际文件名是什么?这些只是真正的文件名变量吗?