4

Возможный дубликат:
Пакетное «изменение размера» изображений JPEG до фиксированного размера файла
быстрое изменение размера пакетного изображения

У меня есть тысячи изображений (90 ГБ), в основном документы, и связанные с сотрудниками вещи, такие как копии паспортов и т.д. Большинство этих документов имеют большой размер и сканируются с высоким разрешением (300 или 200). При выборке случайных выборок средний размер файла составляет 500 КБ-1 МБ на файл, и я могу изменить их размер или сжать их до размера менее 100 КБ без особых усилий, даже используя MSPain. Есть ли какое-нибудь программное обеспечение, которое поможет мне сделать эту работу более простым способом, так как почти невозможно открыть их один за другим и изменить их размер.

4 ответа4

6

Imagemagick может изменить размер изображения.

convert input.jpg -resize 600x600 output.jpg

Обратите внимание, что при этом будет установлен максимальный размер для каждой стороны, но будет сохраняться соотношение сторон. Таким образом, изображение 1200x1000, измененное с помощью вышеуказанной команды, будет масштабировано до 600x500 пикселей, а изображение 1000x1200 будет изменено до 500x600.

Вы можете, конечно, поместить это в сценарий. На bash конвертировать каждый *.jpg в каталоге в 600x600 jpg:

for f in ./*.jpg; do convert "$f" -resize 600x600 "${f%.jpg}-resized.jpg"; done

Чтобы сделать то же самое рекурсивно:

find . -type f -name *.jpg -exec bash -c 'convert "$0" -resize 600x600 "${0%.jpg}-resized.jpg"' {} \;

Я не знаю, как это сделать с помощью командного / пакетного сценария Windows, но я знаю, что это возможно.

Если вы хотите перезаписать исходные файлы, вы можете использовать команду ImageMagick mogrify :

mogrify input.jpg -resize 600x600

Это дает дополнительное преимущество, заключающееся в возможности использовать расширение оболочки, поэтому вы можете изменять размер каждого * .jpg в каталоге, не прибегая к циклу for:

mogrify ./*.jpg -resize 600x600

Чтобы использовать его рекурсивно, вам нужно добавить его в команду find, как в случае с convert:

find . -type f -name *.jpg -exec mogrify '{}' -resize 600x600 \;
3

Xnconvert (портативный) может обрабатывать тысячи изображений

В вашем случае вы можете попробовать

  • установить более низкий DPI
  • изменить размер до более низкого разрешения
  • выберите другой формат файла
  • выберите другой метод сжатия

2

IrfanView сделает всю работу за вас. У него есть инструмент «Пакетное преобразование / переименование», с которым вы можете делать много вещей, включая изменение размера.

Из этого урока по изменению размера изображений с IrfanView:

  1. Запустите IrfanView и нажмите клавишу B. Это приведет вас в пакетный режим.
  2. Добавить все файлы или целые папки во входные файлы
  3. Измените формат вывода и измените процент качества
  4. используйте опцию Advanced, чтобы изменить размер всех файлов

Обратите внимание, что IrfanView является бесплатным только для некоммерческого использования.

0

FastStone Photo Resizer - легко и просто. Бесплатное ПО, хороший графический интерфейс и множество опций. http://www.faststone.org/download.htm

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .