Змінення розміру і економія пакетів PNG, зберігаючи прозорість


10

У мене близько 700+ PNG зображень. Мені потрібно змінити розмір і зберегти їх. Однак я також потребую їх прозорості, щоб бути недоторканими.

Я спробував Irfanview, але це не вийшло. GIMP працює, але я не можу знайти пакетне збереження. Я не збираюся вручну змінювати розмір і зберігати 700+ зображень. Це занадто нудно.

Чи є там додатки, які виконують потрібну мені роботу?


Ви пробували ImageMagick?
slhck

Ні, але це не для серверів?
Бурхливий ol 'Ведмідь

1
Що ви маєте на увазі для серверів? Це програмне забезпечення командного рядка, яке можна запустити в будь-якій операційній системі.
slhck

Так, ні. Командний рядок - це не моя сила. Мені потрібно щось із зручним графічним інтерфейсом.
Grumpy ol 'Bear

@DonSalva ви можете зробити це протягом 2 рядків cmd, використовуючи ffmpeg, навіть без сили
Jet

Відповіді:


10

Вибачте, вам доведеться використовувати командний рядок. Я дуже сумніваюся, що ви можете знайти програму GUI для вирішення цього питання.

Ви не вказали, яку ОС використовуєте. У 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's Batch Processor повинен робити саме те, що ви хочете. У статті йдеться про Linux, але на сторінці плагіна є посилання на версію Windows .


Моє погано, я завжди забував ОС. Це Win7 64-бітний.
Grumpy ol 'Bear

Ну, ImageMagick має версію для Windows, і ви повинні (якось) мати можливість використовувати сценарій GIMP і в Windows.
тердон

@DonSalva див. Оновлену відповідь.
тердон

ImageMagick - це дивовижний інструмент для цього виду роботи. Дізнайтеся, як ним користуватися, і вам сподобається назавжди!
Лі Гаррісон

Все дякую @evilsoup за додавання командного рядка Windows.
тердон

4

Я думаю, що інструмент ImBatch може допомогти вам у вирішенні завдань. Для мене добре працює Win7 x64. Це безкоштовно.


Чудовий інструмент, набагато гнучкіший за IrfanView та підтримує png з альфа - спасибі!
Томаш Кафка

3

XNConvert має простий та інтуїтивно зрозумілий графічний інтерфейс для цих завдань.

XnConvert - потужний та безкоштовний міжплатформенний процесор пакетного зображення, що дозволяє комбінувати понад 80 дій. Сумісний з 500 форматами. Він використовує модуль пакетної обробки XnViewMP

  • Пакетна обробка
  • зберігає прозорість (тестується прозорим PNG )
  • автоматичний або попередньо визначений розмір
  • не потрібно встановлення

введіть тут опис зображення


Я спробував це, і він не підтримував прозорість (версія Mac). Чи означає це, який тип перекомпонування використовується (я використовував Lanczos, як і ви).
niico

Я вирішив це самостійно - використовуючи Bilinear Resampling це робимо. У вікні "Після" ви можете бачити, як це буде виглядати - якщо прозора область чорна, ви знаєте, що вона не працюватиме.
niico

@niico Я тепер спробував 3 різних методу повторної вибірки, також Lanczos. Усі вони створюють прозорі зображення. Можливо, версія MAC працює інакше
nixda

Я спробував це на ПК та Mac - однаково на обох. Далі - зараз я помічаю, що я перепромінював, що я робив, є нерівним як пекло і непридатним.
niico

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 PNGoo, включений на сторінку)
  • Кольоровий квантователь (велика кількість можливостей налаштувати налаштування для використання різних алгоритмів відмирання тощо. Я ніколи не змушував його працювати так добре, як PNGoo / pngquant, але це може бути через мої обмежені знання).
  • TinyPNG.com (безкоштовна веб-служба має обмеження до 20 файлів, кожен розміром менше 5 Мб)

0

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

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

Використання

  • Встановіть Photoshop CC або більш нову версію.
  • Відкрийте сценарій у Photoshop.
  • У діалоговому вікні буде запропоновано вибрати вихідну папку.
  • У діалоговому вікні буде запропоновано вибрати папку призначення.
  • В іншому діалоговому вікні буде запропоновано максимальну ширину та висоту.
  • В іншому діалоговому вікні буде запропоновано ідеальна ширина, а потім ідеальна висота.
  • Зачекайте, поки скрипт відкриє всі файли PSD або AI, які є у вихідній папці, і збережіть їх як прозорі PNG-24.
  • Діалогове вікно дозволить вам знати, коли це буде зроблено.

Список літератури

Було більше 2 посилань на посилання, моя теперішня репутація більше не дозволяє мені публікувати публікації. Дивіться оригінальний сценарій, оскільки посилання задокументовані.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.