web-dev-qa-db-ja.com

コマンドライン経由の画像圧縮ツール

コマンドライン経由で画像(pngおよびjpeg)を圧縮するのに最適なツールを探しています。
グーグル検索後、pngとjepegの両方を圧縮するtrimageが見つかりましたが、この場合、圧縮率は非常に低くなります。

私はjpeg-optimizer.comオンラインツールに出会いました。誰でもこれに適したツールを見つけるのに役立ちますか?.

54
Mukesh Yadav

次のツールを使用して、lossless画像圧縮を実行しています。

プログラムごとに、2つのショートカットを作成しました。

  1. 実際の圧縮を行い、両方のファイルのファイルサイズを表示するもの
  2. 元のファイルを圧縮ファイルに置き換えるもの(満足したら、上矢印を押し、前のコマンドの前に「m」を付けてEnterキーを押します)。

これを.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にリダイレクトします。

41
Rob W
32
Kornel

Linuxを使用している場合は、 imagemagick スイートの mogrify ツールを試してください。

コマンドラインでは非常に便利です。

例:

mogrify -resize 50% rose.jpg

mogrify -format jpg *.png
12
Udantha