Image Compression tools via command line [closed]

I’m using the following tools to perform lossless image compression:

  • pngcrush
  • gifsicle
  • jpegtran

For each of the programs, I’ve created two shortcuts:

  1. One that does the actual compression, and shows the file size of both files
  2. One that replaces the original file with the compressed one (If I’m satisfied, I’ll do arrow-up, prefix my previous command with a “m”, and press enter).

I’ve put this in my .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"{.,}
}

Note: pngcrush -brute is very verbose. Redirect the output to /dev/null if you’re not interested in the progress.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)