![如何在 Linux 上批量缩小图像,同时保持小图像较小?](https://linux22.com/image/1420300/%E5%A6%82%E4%BD%95%E5%9C%A8%20Linux%20%E4%B8%8A%E6%89%B9%E9%87%8F%E7%BC%A9%E5%B0%8F%E5%9B%BE%E5%83%8F%EF%BC%8C%E5%90%8C%E6%97%B6%E4%BF%9D%E6%8C%81%E5%B0%8F%E5%9B%BE%E5%83%8F%E8%BE%83%E5%B0%8F%EF%BC%9F.png)
我有很多照片,现在该清理一下,释放一些磁盘空间了。我知道 mogrify 可以批量缩小图片大小。问题是,在一些目录中,我的大图片和小图片混在一起了。我想批量缩小所有大图片的大小,但不要放大小图片的大小。
例如,我有一个销售代表,他有几十 MB 的图片,大小为 3000x2000。其中一些图片我已经缩小了,以便通过电子邮件发送。它们可能是 1024x768。我想将大图片缩小到 1600x1200,我喜欢这种磁盘空间与质量的权衡。但是,使用mogrify
或时convert
,小图片将被放大,这会浪费磁盘空间。
我发现了一些巧妙的方法identify
和cut
一些脚本来过滤掉小图片并用 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 的一部分。