Ben kayıpsız görüntü sıkıştırma gerçekleştirmek için aşağıdaki araçları kullanıyorum: her program için
, oluşturduğum iki kısayol:
- Gerçek sıkıştırma yapar ve her iki dosyanın dosya boyutunu gösterir
- Sıkıştırılmış dosya ile orijinal dosyanın yerini alan bir tane (memnun olduğum takdirde, ok yukarı yapacağım, önek önceki "m" ile komut verin ve enter tuşuna basın).
Ben benim .bashrc
bu koyduk:
# 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"{.,}
}
Not: pngcrush -brute
çok ayrıntılı olduğunu. İlerleme ile ilgilenmiyorsanız, çıkışı /dev/null
'a yönlendirin.
gifsicle sadece (şu anda apt' 'da mevcut), yeni bir sürümde' -O3' bayrağıyla optimize başladı - [serbest 1.82.1] (bkz https: // github.com/pornel/giflossy/releases) (sizin/usr/bin/gifsicle 'ikili yerine uygun olanı). Gif optimizasyonu ile ilgili notlarım [burada] (https://github.com/lmmx/devnotes/wiki/Gif-terminal-manipulation) –
"jpegtran" komutunuz hiç bir şey yapmıyor gibi görünüyor, bir dosyayla sonuçlanıyor Tam olarak aynı boyutta. Neden seçenekleriniz yok? – Anonymous
@jphollowed 'jpegtran' varsayılan olarak optimize eder. Dosya değişmezse jpegtran, boyutu kayıpsız bir şekilde azaltamaz. –