如何裁剪然后使用Paperclip调整大小

时间:2011-04-27 06:07:45

标签: ruby-on-rails resize paperclip crop

我有一张照片附件,我正在使用Paperclip保存。但是,我想首先处理照片,然后通过裁剪然后调整到最终尺寸进行保存: 例如我有900x900的照片,我想首先将中央裁剪到500x500,然后将裁剪的照片调整为100x100的缩略图。

这样做的目的是使缩略图不仅仅是900x900的缩小版本,因为它可能太小而无法在照片中显示任何内容。通过裁剪它,我们减少了可以省略的大部分照片,并且仍然有一个有意义的按比例缩小的缩略图。

我知道回形针可以进行​​裁剪或调整大小,但有没有办法将它们结合起来?

编辑:为了澄清,我不打算创建一个裁剪工具,用户可以在其中进行交互并裁剪图像。对于上传的每张照片,我想统一执行裁剪,然后调整大小。

由于

2 个答案:

答案 0 :(得分:9)

这可能是一种更好的方法,但是如果你使用ImageMagick这种方式可以正常工作。

以下内容首先在500x500的图像中心裁剪,然后扔掉所有其他内容,然后将新图像调整为100x100。

has_attached_file :image,  
  :styles => { :thumb => "" },
  :convert_options => { 
    :thumb => "-gravity Center -crop 500x500+0+0 +repage -resize 100x100^" },
  :default_style => :thumb

答案 1 :(得分:8)

刚刚发现这个答案,我想发布这个,因为现在只需使用#选项就可以更轻松地实现所需的结果:

has_attached_file :image,  
  :styles => { :thumb => "100x100#" },
  :default_style => :thumb