Массовый ресайз картинок?

Есть несколько папок с картинками (~10000 изображений).

Задача: уменьшить их на 1 пиксель по каждой стороне. Какими софтом это можно сделать?
  • Вопрос задан
  • 11711 просмотров
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 9
conturov
@conturov
Мне нравится FastStone Photo Resizer. Отресайзит что и как угодно, куча опций.

www.faststone.org/FSResizerDetail.htm
Ответ написан
@Monca
Любым, который поддерживает пакетную обработку.
Очень понятный язык у irfanview, я бы им пользовался
Ответ написан
@xy4
Вышесказанное, SnagIt и даже Photoshop. Вариантов много, входных данных для полноценного совета мало.
Ответ написан
ipswitch
@ipswitch
IT-инженер
Под Windows отличным выбором будет XnView
www.xnview.com/en/download.html

Отличный, бесплатный, быстрый, русский язык, удобный интерфейс!
Ответ написан
@de_arnst
Frontend разработчик
В Photoshop'e записать action, потом запустить его для папки, только боюсь для ~10000 изображений нужно будет компьютер оставить на недельку работающим…
Ответ написан
@amirul
Как-то так:
$srcPath = ".\Pictures"
$shrinkBy = New-Object Drawing.Size 1, 1
foreach ($file in dir -r -inc *.jpg, *.jpeg, *.png, *.gif $srcPath) {
    echo $file.FullName
    $src = [Drawing.Image]::FromFile($file)
    $dest = New-Object Drawing.Bitmap $src, ($src.Size - $shrinkBy)
    $format = $src.RawFormat
    $src.Dispose()
    $dest.Save($file.FullName, $format)
}


Сохраняет изменения прямо в исходный файл (лень возиться с воссозданием структуры директорий), так что лучше работать с копией.
Перепаковка с дефолтными параметрами энкодера. Если нужны другие — можно повозиться с перегрузкой Save.
Для смены параметров интерполяции придется создавать Drawing.Graphics и рисовать туда.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы