Может кто-нибудь, пожалуйста, объясните четко, как использовать "pngcrush" для умножения элементов
У меня есть стопка сотен картинок, и я хочу использовать pngcrush для уменьшения размера файла.
Я знаю, как сокрушить один файл с помощью терминала, но во всем Интернете я нахожу части объяснений, которые предполагают предыдущие знания.
Может кто-нибудь, пожалуйста, объясните, как это сделать четко.
Спасибо Шани
4 ответа
Вы можете использовать следующий скрипт:
#!/bin/bash
# uncomment following line for more aggressive but longer compression
# pngcrush_options=-reduce -brute -l9
find . -name '*.png' -print | while read f; do
pngcrush $pngcrush_options -e '.pngcrushed' "$f"
mv "$f" "${f/%.pngcrushed/}"
done
Текущие версии pngcrush поддерживают эту функциональность из коробки.
(Я использую pngcrush 1.7.81)
pngcrush -dir outputFolder inputFolder/*.png
создаст "outputFolder", если он не существует, и обработает все файлы.png в "inputFolder", поместив их в "outputFolder".
Очевидно, что вы можете добавить другие варианты, например,
pngcrush -dir outputFolder -reduce -brute -l9 inputFolder/*.png
В 2023 году есть лучшие инструменты для оптимизации изображений PNG, такие как OptiPNG.
-
- установить
sudo apt-get install optipng
-
- использовать для одного изображения
optipng imagen.png
-
- использовать для всех изображений в папке
find /path/to/files/ -name '*.png' -exec optipng -o7 {} \;
опционально команда -o определяет качество, возможное от 1 до 7, где 7 — максимальный уровень сжатия изображения.
-o7
Исправление с высоким рейтингом кажется мне опасным; он начал сжимать все файлы png в моем iMac; Необходима команда, ограниченная указанным каталогом; Я не специалист по UNIX; Я отменил новые файлы, выполнив поиск всех файлов, оканчивающихся на
.pngcrushed
и удалив их