10

У меня есть более 700 изображений PNG. Мне нужно изменить их размер и сохранить. Однако мне также нужно, чтобы их прозрачность была целой.

Я попробовал Irfanview, но это не сработало. GIMP работает, но я не могу найти вариант пакетного сохранения. Я не собираюсь вручную изменять размер и сохранять более 700 изображений. Это слишком утомительно.

Есть ли какие-нибудь приложения, которые выполняют работу, в которой я нуждаюсь?

6 ответов6

10

Извините, вам придется использовать командную строку. Я действительно очень сомневаюсь, что вы можете найти программу с графическим интерфейсом, чтобы справиться с этим.

Вы не указали, какую ОС вы используете. В Linux следующая команда изменит размер всех файлов .png в текущем каталоге. Обратите внимание, что он будет перезаписывать исходные изображения:

##  bash (Linux, OSX):
for i in *png; do convert "$i" -resize 32x32 "$i"; done
##  on Windows:
for %i in (*png); do convert %i -resize 32x32 %i; done

Обратите внимание, что для строки Windows, если вы используете ее в сценарии, а не в командной строке, вам нужно использовать %%i а не %i .


Другим вариантом будет сценарий GIMP. Этот скрипт изменит размер вашего изображения (источник):

(define (batch-resize pattern width height)
(let* ((filelist (cadr (file-glob pattern 1))))
(while (not (null? filelist))
(let* ((filename (car filelist))
(image (car (gimp-file-load RUN-NONINTERACTIVE filename filename)))
(drawable (car (gimp-image-get-active-layer image))))
(gimp-image-scale-full image width height INTERPOLATION-CUBIC)
(gimp-file-save RUN-NONINTERACTIVE image drawable filename filename)
(gimp-image-delete image))
(set! filelist (cdr filelist)))))

Сохраните его как batch_resize.scm в каталоге scripts GIMP, затем запустите его следующим образом:

gimp -i -b '(batch-resize "*.JPG" 604 453)' -b '(gimp-quit 0)'

ОБНОВИТЬ:

Я только что наткнулся на этот пост, который предполагает, что плагин GIMP David Batch Processor должен делать именно то, что вы хотите. Статья о Linux, но на странице плагина есть ссылка на версию для Windows .

4

Я думаю, что инструмент ImBatch может помочь вам с вашей задачей. Работает нормально с Win7 x64 для меня. Это свободно.

3

XNConvert имеет простой и интуитивно понятный графический интерфейс для этих задач.

XnConvert - это мощный и бесплатный кроссплатформенный процессор пакетных изображений, позволяющий объединить более 80 действий. Совместим с 500 форматами. Он использует модуль пакетной обработки XnViewMP

  • пакетная обработка
  • сохраняет прозрачность (тестируется с прозрачным PNG)
  • автоматическое или предопределенное изменение размера
  • установка не требуется

2

По умолчанию использование FFMpeg - самый короткий путь :)
Загрузите его здесь, поместите в папку с вашими файлами, откройте командную строку, перейдите в папку (с помощью cd) и напишите там:

mkdir Resized
for %f in (*.png) do ffmpeg -i "%~nxf" -s 32x32 "Resized\%~nxf"

и измените 32x32 с вашим размером. Он изменит ваши PNG и поместит их в папку Resized .
Это сделает работу без пакетного файла. Однако, если вы хотите поместить это в файл bat, напишите %% вместо % .

Надеюсь, это поможет вам.

0

Я не пробовал ImBatch или XNConvert, которые другие упоминали здесь, но вот еще несколько советов для вас:

  • pngquant (инструмент командной строки. Я сам использовал Windows GUI PNGoo, который есть на странице)
  • Цветовой квантователь (множество возможностей для настройки параметров с использованием различных алгоритмов сглаживания и т.д. Я никогда не заставлял его работать так же хорошо, как PNGoo/pngquant, но это может быть из-за моих ограниченных знаний).
  • TinyPNG.com (бесплатный веб-сервис имеет ограничение в 20 файлов, каждый размером менее 5 МБ)
0

У меня была такая же проблема много раз, и у меня был установлен Photoshop для большей части тех времен. Поэтому я соединил этот сценарий, используя несколько идей другого кода.

https://gist.github.com/pixelbacon/7754cba64125b0240504

использование

  • Установите Photoshop CC или более новую версию.
  • Откройте скрипт в фотошопе.
  • Диалог попросит вас выбрать исходную папку.
  • Диалог попросит вас выбрать папку назначения.
  • Другой диалог спросит вас о максимальной ширине и высоте.
  • Другой диалог попросит вас об идеальной ширине, а затем об идеальной высоте.
  • Подождите, пока скрипт откроет все файлы PSD или AI, которые у вас есть в исходной папке, и сохраните их в виде прозрачного PNG-24.
  • Диалог сообщит вам, когда это будет сделано.

Рекомендации

Было более 2 ссылок на ссылки, моя текущая репутация не позволяет мне публиковать больше. Смотрите оригинальный сценарий, так как ссылки задокументированы.

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