ImageMagick:转换以保持转换后图像的相同名称

Posted

技术标签:

【中文标题】ImageMagick:转换以保持转换后图像的相同名称【英文标题】:ImageMagick: convert to keep same name for converted image 【发布时间】:2015-03-02 22:50:45 【问题描述】:

我正在将文件夹内的 .psd 文件转换为 .png 文件。如何在不同扩展名的文件夹中保持每个文件的名称相同?

例如,我输入文件夹图像,然后从终端执行

$ convert *.psd *.png

但它为 .png 命名的只是数字与适当的 .psd 图像不同。

【问题讨论】:

您应该接受@emcconville 的回答而不是我的回答,因为它与平台无关。 我无法破译你的英文... 【参考方案1】:

如果您使用的是 Linux、Unix 或 Mac OSX,则可以在带有 Bash shell 的终端窗口中使用:

for i in *.psd; do
     convert $i $i/.psd/.png
done

我故意不再为mogrify做广告。对于每个还不知道的用户来说,这太危险了,谁来这个网站寻求帮助。 mogrify 在某些情况下会覆盖您的原始文件(当然不是在转换 PSD->PNG 时)

【讨论】:

【参考方案2】:

使用-set 和格式选项。

convert *.psd -set filename:base "%[basename]" "%[filename:base].png"

请参阅“Long Form Attribute Percent Escapes”和“Filename Percent Escapes”文档。

更新

也可以使用 imagemagick 附带的 mogrify 实用程序。

mogrify -format png *.psd

注意:请谨慎使用 mogrify 作为文档状态...

此工具与转换类似,只是原始图像文件会被您请求的任何更改覆盖(除非您使用 -format 选项更改文件后缀)。

【讨论】:

只是一个更新:base 现在称为basename。使用该替换,可以按预期工作! -> convert *.psd -set filename:base "%[basename]" "%[filename:base].png" mogrify -format png *.psd 效果最好,顺便说一句,您可以添加为Thunar 文件管理器mogrify -format png %F 上的操作【参考方案3】:

或者,更简单:

mogrify -format png *.psd

【讨论】:

没错,用-format mogrify 会做同样的事情。 请注意,在 ImageMagick 的 v7 中,它变为 magick mogrify -format png *.psd @MarkSetchell 谢谢,这行得通。有没有办法将输出放入子文件夹?想不通。 @Eskel 是的。 mkdir OUTPUT; magick mogrify -path OUTPUT -format png *.psd【参考方案4】:

我喜欢top answer,

话虽如此,在以后的 ImageMagick 版本中,命令是

convert *.psd -set filename:basename "%[basename]" "%[filename:basename].png"

@jan-glx 和 @jomel imperio 也提到过

【讨论】:

以上是关于ImageMagick:转换以保持转换后图像的相同名称的主要内容,如果未能解决你的问题,请参考以下文章

ImageMagick:转换、裁剪、调整大图像

使用Sphinx ImageMagick扩展名sphinx.ext.imgconverter更改已转换图像的分辨率

使用 imagemagick 将 GIF 图像转换为 PNG,但得到的是 RGBA 图像而不是调色板版本

将 GD 图像缩放器转换为具有双三次锐化器的等效 ImageMagick

ImageMagick 的转换:未定义图像

使用 ImageMagick 将 gif 转换为 png 时出现“转换:不正确的图像标题”错误