如何裁剪&用Paperclip(或RMagick)填写?

时间:2009-07-22 17:04:19

标签: ruby-on-rails image paperclip resize

我上传了一张照片,它是一个矩形。我如何才能将其调整大小并填充到正方形?

我的意思是当照片处于水平位置时,它应该在其上方和下方,两个白色区域(用于保持正方形的形状),当它是垂直时,它应该在照片的两侧有两个白色区域。

当我使用PHP时,a使用了这个http://www.verot.net/php_class_upload_samples.htm

看看

  

100x150,保持比率,填充顶部和底部

例如

我正在使用PaperRip和RoR。最好的方法是怎样做的?

2 个答案:

答案 0 :(得分:17)

这是我在rails 3 app / paperclip上使用的内容。我使用以下ImageMagick选项使其居中:背景,构图,重力和范围。我正在使用mini_magick处理器。

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"
  }

答案 1 :(得分:1)

您需要定义样式。 Here's an example