当使用Rails和Paperclip裁剪图片时,如何获取图片的顶部区域?

12

所以我有一个使用Paperclip裁剪图像的Rails 3应用程序。

我在我的Photo模型中有这段代码:

 has_attached_file :thumbnail, PAPERCLIP_OPTIONS.merge(
    :styles => {:cropped => '300x250#'})

生成的图像大小为300x250,但裁剪似乎总是从图像顶部下方约50像素开始(这对社交网络来说不是好事,因为它会切掉人们头顶上的部分)。
我进行了一些研究,认为我需要提供与“裁剪”样式相对应的“:convert_options”键。然而,我不知道要设置哪些选项(-gravity、-region等)。
有人有什么想法吗?我知道有一些Imagemagick专家;我不是其中之一,哈哈。
谢谢!
更新: 我找到了这个链接。 http://forrst.com/posts/Customized_Cropping_with_Paperclip-7g6 这还有效吗?还是有更好更简单的方法吗?
1个回答

26

这是我最喜欢的方法:

:styles => { :large => "", :medium => "", :thumb => ""},
    :convert_options => { 
        :large => "-gravity north -thumbnail 300x300^ -extent 300x300" ,
        :medium => "-gravity north -thumbnail 200x200^ -extent 200x200",
        :thumb => "-gravity north -thumbnail 100x100^ -extent 100x100"
    }
请注意,代替 # 号可以使用 ^ + extent。 重力参数就像地图上的方向一样:北,东北,东...

3
你太棒了!我一直在寻找这个。现在要重新处理我所有的生产图像 :( - Ben Scheib
1
非常好!感谢详细的说明。 - Brendon Muir
2
谢谢您发布如何操作的内容,而不是留下一些讽刺的评论,说这在ImageMagick的文档中已经有了说明。 - northdig

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接