imagemagick - 转换名称相同但扩展名不同的图像

标签 imagemagick imagemagick-convert mogrify

例如我有两个文件:

aaa.jpg        (with cat)
aaa.png        (with dog)

如您所见,图像是不同的,尽管它们的名称相同。

我想将这两个图像转换为一种格式。

这个任务的基本尝试是

mogrify -format jpg *.png

但它不起作用,原因很明显(一个文件夹不能包含具有相同名称和扩展名的多个文件)。

还有一些我自己的笔记。

  1. 请注意,这只是示例。在现实生活中,大约有 100-200 张图像。

  2. 在我看来,似乎至少有两种方法可以解决此问题:向文件名添加时间戳添加随机文本。我认为随机文本会更好,因为时间戳有时可能相等(如果处理速度非常快)。

那么,您对这项任务有何建议,以及如何完成?谢谢。

最佳答案

您可以使用 convert 来代替 mogrify,通过 -set filename:f 修改原始文件名,例如添加一个包含 a 的后缀柜台:

convert *.png -set filename:f "%t_%p" "%[filename:f].jpg"

其中%p%t属性的含义是:

  • %p当前图片列表中的图片索引
  • %t 不带目录或扩展名(后缀)的文件名

更多详情 here .

如果这是您的起始场景:

aaa.jpg        
aaa.png        
bbb.jpg        
bbb.png  

最终情况是:

aaa.jpg        
aaa.png        
bbb.jpg        
bbb.png   
aaa_0.jpg
bbb_1.jpg

关于imagemagick - 转换名称相同但扩展名不同的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44284542/

相关文章:

image-processing - 如何从文本图像中删除虚线带?

用于调整图像文件夹大小的 ImageMagick 脚本

ImageMagick Mogrify : batch with watermark

ubuntu - 如何更新对现有 ImageMagick 的依赖

node.js - 如何使用 gm 转换选定的 pdf 页面

tomcat - War 安装失败,因为未设置 Image Magic Home 环境变量(尽管我另有声明)

python - 在 AWS lambda 上将 ImageMagick 作为 python 子进程运行

imagemagick - 合并多个具有相同名称的图像

python - 我可以加入不同速度或延迟的 gif 吗?

php - ImageMagick 和 mogrify 裁剪