2013-10-03 33 views
46

Komut satırı üzerinden görüntüleri (png ve jpeg) sıkıştırmak için en iyi aracı arıyorum.
Çalışmadan sonra, hem png hem de jepeg'i sıkıştırdığı kadar iyi olan trimage'u buldum, ancak bu durumda sıkıştırma oranı çok düşük.Resim Komut satırı ile sıkıştırma araçları

jpeg-optimizer.com online araçtan rastladım. Bunun için doğru aracı bulmak için herhangi biri yardımcı olabilir.

cevap

32

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:

  1. Gerçek sıkıştırma yapar ve her iki dosyanın dosya boyutunu gösterir
  2. 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.

+1

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) –

+0

"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

+0

@jphollowed 'jpegtran' varsayılan olarak optimize eder. Dosya değişmezse jpegtran, boyutu kayıpsız bir şekilde azaltamaz. –

9

, O komut satırında oldukça kullanışlıdır imagemagick paketi

den mogrify aracı deneyin.

Örnek:

mogrify -resize 50% rose.jpg

mogrify -format jpg *.png 
+0

Veya daha hızlı çatalı deneyin: http://www.graphicsmagick.org/ –