Массовое преобразование фотографий в меньший размер?

У меня около 500 фотографий – каждый размером около 5 МБ. Я хотел бы объединить их в меньший размер, подходящий для электронной почты и веб-хостинга.

Инструменты в моем распоряжении –

  • Windows 7
  • Powershell 2
  • Бесплатный инструмент, о котором я еще не знаю

Какой лучший вариант?

Обновление – создание этой вики сообщества – есть так много хороших вариантов. Я не уверен, что имеет смысл отметить любой из них в качестве ответа.

Проверьте Irfanview !

Я бы также использовал ImageMagick , вот сценарий PowerShell, расширяющийся по идее DaveParillo.

# Retrieves array of JPG files in current directory PS C:\TEST\> $jpgfiles = Get-ChildItem . -filter *.jpg PS C:\TEST\> foreach ($jpgfile in $jpgfiles) { # Defines a new filename by stripping original filename of extension, # then adding "-scaled.jpg" to end of original filename >> $newjpgfileName = $jpgfile.Name.substring(0, $jpgfile.Name.length-4) + "-scaled.jpg" >> convert $jpgfile.Name -scale 500 $newjpgfileName >> } >> 

Я решил использовать команду преобразования ImageMagick и масштабировать изображения до 500 пикселей в ширину, что значительно сократит файлы и сохранит существующее соотношение сторон. Вы также можете использовать mogrify, но вы потеряете исходное изображение таким образом. Всевозможные забавные вещи, которые вы можете сделать с ImageMagick, я рекомендую вам просмотреть их документацию. Надеюсь, этот сценарий PowerShell поможет вам добраться туда.

http://www.imagemagick.org/script/command-line-tools.php

Imagemagick – мой выбор. Это моя любимая цена (бесплатно)

Если вы хотите снизить качество jpeg изображений «на месте» до 50%:

 mogrify -quality 50% *.jpg 

Чтобы изменить размер (меньшие копии), это синтаксис оболочки, не уверен в эквиваленте powershell:

 for file in *.jpg; do echo -n "Making images: $file thumbs.." # a bare scale means Width is given, # height automagically selected to preserve aspect ratio. convert -scale 150 "$file" "thumbnails/$file" echo -n " scaled.." convert -scale 500 "$file" "scaled/$file" echo . done 

Image Resizer Powertoy Clone для Windows – простое изменение размера изображения для одного или нескольких изображений:

Обновлять изображения на регулярной основе до сих пор было несколько утомительно.
Пока я искал программу, которая сортировала изображения по их разрешению, я нашел эту маленькую жемчужину программы, которая меняет размеры изображений в Проводнике Windows (не Internet Explorer), используя простой щелчок правой кнопкой мыши. Image Resizer Powertoy Clone очень прост в использовании; Откройте проводник Windows, найдите изображение, которое хотите изменить, щелкните правой кнопкой мыши по изображению, выберите «Изменить размеры снимков», выберите размер, нажмите «ОК» и вы закончите.

image1

Примеры Imagemagick (2 ссылки здесь)

Picasa также может сделать это довольно легко. Он находится в параметрах экспорта, если / как вы хотите изменить размер группы фотографий.

Powershell Community Extension предоставляет командлет с именем import-bitmap, resize-bitmap и export-bitmap, поэтому вы можете написать что-то вроде:

ls | % { import-bitmap $_ | resize-bitmap /* somehting */ | export-bitmap $_ }

Это сработало отлично. http://www.fotosizer.com/

Это бесплатная программа, позволяющая вам выбрать папку. Затем он сканирует эту папку (и вложенные папки, необязательно) для всех типов изображений, вы знаете, tif, bmp, jpg, png и т. Д.

Затем он позволит вам изменить размер их в ограничивающий прямоугольник – то есть установить максимальную ширину и высоту, а затем изменить их размер. Он может перезаписывать исходные файлы или даже лучше воссоздать структуру папок в выбранной вами папке.

Хорошо работает, хорошая цена (бесплатно!)

  • Что я должен использовать: «Write-Host», «Write-Output» или « :: WriteLine»?
  • Как сохранить вывод из формата таблицы для последующего использования
  • Как установить PowerShell по умолчанию вместо cmd.exe
  • Странное поведение в функции PowerShell, возвращающее DataSet / DataTable
  • Скриптинг Bitlocker Расшифровка локального жесткого диска
  • Удаленный сеанс удаленного доступа Powershell
  • Лучший способ проверить, существует ли путь в PowerShell
  • .NET Framework 4.5.2 в Windows 7 w SP1, не отображающийся в списке функций Windows
  • Сложные запросы wmi с использованием execquery
  • Показывать доступные для пользователя размеры файлов в команде PowerShell по умолчанию
  • Как запустить PowerShell с помощью среды выполнения .NET 4?
  • Давайте будем гением компьютера.