如何在 Linux 上批量缩小图像,同时保持小图像较小?

如何在 Linux 上批量缩小图像,同时保持小图像较小?

我有很多照片,现在该清理一下,释放一些磁盘空间了。我知道 mogrify 可以批量缩小图片大小。问题是,在一些目录中,我的大图片和小图片混在一起了。我想批量缩小所有大图片的大小,但不要放大小图片的大小。

例如,我有一个销售代表,他有几十 MB 的图片,大小为 3000x2000。其中一些图片我已经缩小了,以便通过电子邮件发送。它们可能是 1024x768。我想将大图片缩小到 1600x1200,我喜欢这种磁盘空间与质量的权衡。但是,使用mogrify或时convert,小图片将被放大,这会浪费磁盘空间。

我发现了一些巧妙的方法identifycut一些脚本来过滤掉小图片并用 mogrify 处理其他图片,但是伙计,必须有一种方法可以告诉 mogrify 不要扩大我的图片尺寸...怎么做?

还有其他更适合的工具吗?

答案1

如果您使用convert,您可以指定参数>仅缩小较大的图像,而其他图像保持不变(需要 \,否则魔术字符 > 不会被转义):

convert large_image.png -resize 1248x1024\> large_image.png
convert not_large_image.png -resize 1248x1024\> not_large_image.png

它只会改变更大的图像。

[预计到达时间convert]ImageMagick 的一部分

相关内容