如何裁剪然后使用Paperclipresize

我有一个照片附件,我正在使用Paperclip保存。 但是,我想首先处理照片然后再将其裁剪下来,然后调整到最终尺寸:例如,我有900×900照片,我想首先将中央裁剪到500×500,然后调整裁剪照片的大小到缩略图大小为100×100。

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

我知道回形针可以进行​​裁剪或resize,但是有没有办法将两者结合起来?

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

谢谢

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

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

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

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

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