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

Gab*_*iel 8 linux batch images mogrify

我有很多照片,现在是清理混乱并释放一些磁盘空间的时候了。我知道 mogrify 非常适合批量调整大小。问题是,在某些目录中,我将小图像与大图像混合在一起。我想批量缩小所有大的,但不放大小的。

举个例子,我有一个代表在 3000x2000s 中有数十 MB 的图片。其中一些我已经缩小规模,以便我可以通过电子邮件发送给他们。它们可能是 1024x768。我想将大的缩小到 1600x1200,这是我喜欢的磁盘空间与质量的权衡。但是,使用mogrifyconvert,较小的将被放大,这将浪费磁盘空间。

我发现了一些棘手的方式来使用identifycut和一些脚本过滤小图片并mogrify别人,而是人,我们有了一个方法可以告诉mogrify不升迁我的图片...怎么样?

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

Tho*_*mBR 8

如果您使用convert,您可以指定参数>只缩小更大的图像,而保持其他不变(\ 是必需的,或者魔法字符 > 不被转义):

convert large_image.png -resize 1248x1024\> large_image.png
convert not_large_image.png -resize 1248x1024\> not_large_image.png
Run Code Online (Sandbox Code Playgroud)

它只会改变更大的图像。

[ETA]convertImageMagick 的一部分