Ответ 1
Я использую следующие инструменты для сжатия без потерь:
Для каждой из программ я создал две быстрых клавиши:
- Тот, который выполняет фактическое сжатие, и показывает размер файла обоих файлов.
- Тот, который заменяет исходный файл сжатым (если я доволен, я сделаю стрелку вверх, префикс моей предыдущей команды с "m" и нажмите клавишу ввода).
Я положил это в свой .bashrc
:
# Image optimization tools
png() {
pngcrush -brute "$1"{,.} && du -b "$1"{,.}
}
gif() {
gifsicle -O "$1" -o "$1." && du -b "$1"{,.}
}
jpeg() {
jpegtran "$1" > "$1." && du -b "$1"{,.}
}
# Just for easy access in history
mpng() {
mv "$1"{.,}
}
mgif() {
newsize=$(wc -c <"$1.")
oldsize=$(wc -c <"$1")
if [ $oldsize -gt $newsize ] ; then
mv "$1"{.,}
else
rm "$1."
fi
}
mjpeg() {
mv "$1"{.,}
}
Примечание: pngcrush -brute
очень многословно. Перенесите вывод на /dev/null
, если вас не интересует прогресс.