Rails 4 – Imagemagickresize以填充空间

我有缩略图产品图像,具有不同的宽高比和大小。 这是一个市场应用程序,因此卖家将加载各种尺寸的图像。 我想resize以使它们适合我所拥有的200×200缩略图网格。

我在Rails 4,Paperclip 4.1,Imagemagick 6.8.9

基于早期版本的IM,这是我想要的效果 – http://www.imagemagick.org/Usage/resize/#space_fill – 填充空白以适应200×200网格。 请在我的演示站点上查看对齐问题 – mktdemo.herokuapp.com

我的型号代码。 我尝试使用一些IM选项,但没有让它按照我想要的方式对齐:

has_attached_file :image, :styles => { :medium => "200x200", :thumb => "100x100" }, :default_url => "" :convert_options => {:medium => ???} 

我的html.erb有bootstrap的“缩略图”类。

 

我不想在css中使用固定像素大小,因为它们没有响应。 我也尝试了一些JS插件,但它们也没有按预期工作。

这很有效。 所有中等图像均适合200×200尺寸。 如果resize的图像为150×200,则图像居中,顶部和底部的25px用空白填充。

 has_attached_file :image, :styles => { :medium => "200x200", :thumb => "100x100>" }, :default_url => "", :convert_options => {:medium => '-background white -gravity center -extent 200x200'}