ruby-on-rails - 使用 Rails 和 Paperclip 裁剪时如何获得图像的顶部区域?

标签 ruby-on-rails ruby-on-rails-3 imagemagick paperclip crop

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

我的照片模型中有此代码:

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

生成的结果图像创建了一个 300x250 的图像,但是裁剪似乎总是在图像顶部下方 50 像素左右开始(当它切断人们的头顶时,这对社交网络来说不是一件好事)。

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

任何人都有任何想法。我知道有 Imagemagick 专家;我不是一个,哈哈。

谢谢!

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

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

最佳答案

这是我最喜欢的方法:

: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"
    }

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

重力参数就像在 map 上一样:北、东北、东……

关于ruby-on-rails - 使用 Rails 和 Paperclip 裁剪时如何获得图像的顶部区域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8218305/

相关文章:

parallel-processing - 使用并行转换图像库

ruby-on-rails - RubyMine 中的错误 : no ruby interpreter configured for project

ruby-on-rails - 在没有 accepts_nested_attributes_for 的情况下处理 Rails 中的嵌套 JSON

ruby-on-rails-3 - ruby /导轨 : where is the code to generate scaffolds

ruby-on-rails-3 - 更改为 capybara-webkit 后单个测试失败

c++ - 在 Qt Creator 中使用 Magick++

ruby-on-rails - 操作方法 : Devise after_sign_up_redirect?

javascript - 如何在 Angularjs 中创建一个新实例? CRUD的save方法不起作用

ruby-on-rails - Ruby on Rails : Are "form_for(:product, ...)" and "form_for(@product, ...)" equivalent?

ImageMagick - 在不知道图像尺寸的情况下计算透视