Есть ли приложение OS X для уменьшения изображения до определенного размера файла

В настоящее время я имею дело с несколькими приложениями, которые накладывают ограничение в 2 МБ на размер импортируемого файла/изображения. В настоящее время единственный способ, который я нашел, чтобы справиться с этим, — это вручную найти все изображения размером более 2 МБ, открыть их в режиме предварительного просмотра, изменить их размер до определенного процента и надеяться, что размер файла упадет ниже 2 МБ (а если нет, сохранить уменьшение).

Это кажется необычайно сложным. Есть ли приложение OS X, которое возьмет файл изображения и уменьшит его до нужного размера?

Какие форматы изображений вам нужны для работы?
И должно ли это быть специальное приложение для OS X с графическим интерфейсом, или подойдет и кроссплатформенный инструмент командной строки?
@NickWilde 99% форматов изображений имеют формат .jpg или .png.
@Izzy графический интерфейс не нужен
Хорошо, в этом случае, я думаю, у меня есть идеальный инструмент для вас — смотрите мой ответ :)

Ответы (1)

Я использую ImageMagick для такого рода задач, обычно подбирая сжатие/качество или разрешение. Пример:

mogrify -resize 800x600 -quality 70

Но, согласно списку параметров командной строки , подход, лучше соответствующий вашим требованиям, заключается в использовании jpeg:extent=valueпараметра (например, -define jpeg:extent=2048KB). Это будет работать только через сжатие/качество, не уменьшая разрешение (если я правильно понял документацию; я никогда не играл с этой опцией. Однако вы можете комбинировать ее с -resize).

Ограничьте максимальный размер файла JPEG, например -define jpeg:extent=400KB. Кодер JPEG будет искать самый высокий уровень качества сжатия, в результате чего выходной файл не будет превышать значение. Параметр -qualityигнорируется, если он также присутствует.

ImageMagick является кроссплатформенным и предоставляет двоичные версии для Linux, Mac OS X, iOS и Windows. Он поддерживает массу графических форматов (включая запрошенные вами .jpgи .png). Так что это должно соответствовать вашим требованиям. Из-за того, что он работает из командной строки, он также быстрее, чем многие другие подходы (поскольку ему не нужно сначала загружать графический интерфейс).

Это довольно мощный пакет для работы с изображениями, так что вы можете использовать его и для многих других связанных задач: монтаж, анимация, сравнение, идентификация (т.е. показ метаданных изображения), преобразование между различными форматами, … Может потребоваться некоторое время, чтобы хоть все понял :)

+1 Когда я вчера читал вопрос, я думал о том, чтобы найти правильные параметры -resize с помощью дихотомии через какой-нибудь скрипт-оболочку, -define может быть более умным :) По иронии судьбы, я знал некоторые инструменты для установки целевого размера для видео (много лет назад когда я записывал CD/DVD), но не для образа.
Спасибо, @FranckDernoncourt! Я шел тем же путем, но перед публикацией сделал Ctrl-F для «размера файла» в руководстве. Не знал об этом параметре еще час назад :)