Как получить верхнюю область изображения при обрезке с помощью Rails и Paperclip?

Итак, у меня есть приложение Rails 3, использующее Paperclip для обрезки изображений.

У меня этот код в моей модели для фото:

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

Полученное изображение, созданное с созданием, создает изображение 300x250, однако, как правило, урожай всегда начинается с хорошего 50px или около того ниже верхней части изображения (не очень хорошо для социальных сетей, когда он отсекает верх головы людей).

Я провел некоторое исследование, и я думаю, что мне нужно предоставить ключ: convert_options, который совпадает с стилем: обрезанный. Тем не менее, я не знаю точно, какие параметры установить (-gravity, -region и т.д.)

У кого-нибудь есть мысли. Я знаю, что есть профессионалы Imagemagick; Я не один, lol.

Спасибо!

Обновление: Я нашел эту ссылку.. http://forrst.com/posts/Customized_Cropping_with_Paperclip-7g6

Это все еще актуально или у кого-то есть более простой способ?

Ответ 1

Здесь мой любимый способ сделать это:

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

Обратите внимание, что вместо # вы используете ^ + степень.

Параметры гравитации похожи на карту: север, северо-восток, восток...