ImageCrush

Reduce the size of PNG and JPEG files using the pngcrush and jpegtran tools, as described at yuiblog.com/blog/2008/11/14/imageopt-3/

Usage

The tools pngcrush and jpegtran must be installed on your system.

to get pngcrush on a mac with macports just do:

sudo port install pngcrush

or on a system with apt (like ubuntu)

apt-get install pngcrush

and to get jpegtran

apt-get install libjpeg-progs

This will help you install jpegtran from source for macs or Unix/linux www.phpied.com/installing-jpegtran-mac-unix-linux/

Can be used with single files and with directories:

require 'image_crush'
ImageCrush('path/to/image.png')
ImageCrush('path/to/image.jpg')
ImageCrush('path/to/dir')

Rake task for Rails

ImageCrush also comes with a handy rake task to be used with Ruby on Rails. To use it, add the following line to your Rakefile:

require 'image_crush'

Then, simply invoke the task with:

rake crush

This will automatically traverse your public/images directory and reduce the size of all PNG/JPEG files, including subdirectories.

Note on Patches/Pull Requests

  • Fork the project.

  • Make your feature addition or bug fix.

  • Add tests for it. This is important so I don’t break it in a future version unintentionally.

  • Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but

    bump version in a commit by itself I can ignore when I pull)
    
  • Send me a pull request. Bonus points for topic branches.

Copyright © 2009 Ryan Shaw. See LICENSE for details. Copyright © 2008 Pablo Brasero Moreno. See LICENSE for further details.