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

Ben*_*eib 12 ruby-on-rails crop imagemagick paperclip ruby-on-rails-3

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

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

 has_attached_file :thumbnail, PAPERCLIP_OPTIONS.merge(
    :styles => {:cropped => '300x250#'})
Run Code Online (Sandbox Code Playgroud)

生成的图像会生成一个300x250的图像,然而作物似乎总是在图像顶部以下50px左右开始(当它切断人们头顶时社交网络不是一件好事).

我做了一些研究,我想我需要提供一个:convert_options键,它与:cropped样式一致.但是,我不确切知道要设置哪些选项(-gravity,-region等)

任何人都有任何想法.我知道有Imagemagick专业人士; 我不是一个,哈哈.

谢谢!

更新:我找到了这个链接.. http://forrst.com/posts/Customized_Cropping_with_Paperclip-7g6

这仍然有效还是有人有更简单的方法?

Ale*_*ant 25

这是我最喜欢的方式:

: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"
    }
Run Code Online (Sandbox Code Playgroud)

请注意,而不是#,您使用^ +范围.

重力参数就像在地图上:北,东北,东......

  • 你真了不起!我一直在寻找这个.在重新处理我所有的生产图像:( (3认同)
  • 感谢您发布如何执行此操作,而不是留下关于如何在ImageMagick文档中记录这些内容的讽刺评论. (2认同)