CarrierWave OptimizeImage
This gem allows you to simply optimize CarrierWave images via jpegoptim or optipng using the image_optimizer gem.
Installation
Add this line to your application's Gemfile:
This gem uses the following utilities for optimizing images:
Or install the utilities via homebrew:
$ brew install pngquant jpegoptim
Add this line to your application's Gemfile:
gem "carrierwave-optimize_image"And then execute:
$ bundle
Or install it yourself as:
$ gem install carrierwave-optimize_image
Usage
To add image optimization to your CarrierWave uploader, first include the module:
class ImageUploader < CarrierWave::Uploader::Base
include CarrierWave::OptimizeImage
...
endThen apply to all versions via:
class ImageUploader < CarrierWave::Uploader::Base
include CarrierWave::OptimizeImage
...
process :optimize
endOr to a single image version via:
class ImageUploader < CarrierWave::Uploader::Base
...
version :thumbnail do
process :optimize
end
endPass an optional quality parameter to target a specific lossy JPG and PNG quality level (0-100)
class ImageUploader < CarrierWave::Uploader::Base
version :thumbnail do
process optimize: [{ quality: 60 }]
end
endQuiet Mode
Pass an optional quiet parameter to compress images without logging progress.
class ImageUploader < CarrierWave::Uploader::Base
...
version :thumbnail do
process optimize: [{ quiet: true }]
end
endContributing
- Fork it
- Create your feature branch (
git checkout -b new_feature_branch) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin new_feature_branch) - Create new Pull Request