Как я могу уменьшить размер изображений в linux, сохраняя при этом маленькие изображения маленькими?

У меня много фотографий, и пришло время навести порядок и освободить место на диске. Я знаю, что mogrify - это замечательно, чтобы изменить размер вещи. Проблема в том, что в некоторых каталогах у меня есть маленькие изображения, смешанные с большими. Я хотел бы сократить размер всех больших, но не уменьшать маленькие.

Например, у меня есть представитель с десятками МБ-картинок в 3000x2000. Некоторые из них я уже сократил, чтобы я мог написать им. Они могут быть 1024x768. Я хотел бы уменьшить большие до 1600x1200, соотношение дискового пространства к качеству, которое мне нравится. Но потом, с mogrify или же convertмалые будут увеличены, что приведет к пустой трате дискового пространства.

Я нашел несколько хитрых способов использования identify с cut и некоторые сценарии, чтобы отфильтровать маленькие картинки и могировать других, но, мужик, должен быть способ сказать могфрии не увеличивать мои фото... Как?

Есть какой-то другой инструмент лучше подходит?

1 ответ

Решение

Если вы используете convertВы можете указать параметр > только для уменьшения больших изображений, оставляя другие нетронутыми (требуется \, или магический символ> не экранируется):

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

Это только изменит большие изображения.

[ETA] convert является частью ImageMagick.

Другие вопросы по тегам