How to crop & fill with Paperclip (or RMagick)?
image, paperclip, resize, ruby-on-rails
Solution
Here's what I used on a rails 3 app w/ paperclip. I used the following ImageMagick options to make it centered: background, compose, gravity and extent. I'm using the mini_magick processor.
has_attached_file :image,
:styles => { :large => ["855x570>", :jpg], :medium => ["432x288>", :jpg], :small => ["276x184>", :jpg], :tiny => ["195x130>", :jpg] },
:processor => "mini_magick",
:convert_options => {
:medium => "-background white -compose Copy -gravity center -extent 432x288",
:small => "-background white -compose Copy -gravity center -extent 276x184",
:tiny => "-background white -compose Copy -gravity center -extent 195x130"
}
Problem
I upload a photo, it is a rectangle. How Can I get it resized and filled to a square ? I mean when the photo is horizontal positioned it should have above and under it, two white fields (for keeping the shape of a square) and when it is vertically, it should have two white fields on the sides of the photo. When I used PHP, a have used this http://www.verot.net/php_class_upload_samples.htm Have a look at the 100x150, keeping ratio, filling top and bottom example I'm using Paperclip with RoR. How is the best way to do that ?