我有一张照片附件,我正在使用Paperclip保存。但是,我想首先处理照片,然后通过裁剪然后调整到最终尺寸进行保存: 例如我有900x900的照片,我想首先将中央裁剪到500x500,然后将裁剪的照片调整为100x100的缩略图。
这样做的目的是使缩略图不仅仅是900x900的缩小版本,因为它可能太小而无法在照片中显示任何内容。通过裁剪它,我们减少了可以省略的大部分照片,并且仍然有一个有意义的按比例缩小的缩略图。
我知道回形针可以进行裁剪或调整大小,但有没有办法将它们结合起来?
编辑:为了澄清,我不打算创建一个裁剪工具,用户可以在其中进行交互并裁剪图像。对于上传的每张照片,我想统一执行裁剪,然后调整大小。
由于
答案 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