Как вы обрезаете определенную область с помощью скрепки в Rails (3)? - PullRequest
5 голосов
/ 02 января 2011

У меня есть скрепка в Rails (3), работающая с простым обрезанием, например, код удара делает простую обрезку миниатюры:

has_attached_file :image, :styles => { :thumb => "90x90#" }, :default_style => :thumb

Однако мне было интересно, как вы обрезаете очень специфическую областьизображения;Допустим, у вас есть координаты x и y для начала, а затем ширина и высота кадрирования.

Как вы собираетесь передавать такой сложный стиль, как этот?

Ответы [ 2 ]

14 голосов
/ 02 января 2011

Проверьте {size}{offset} комбинацию здесь:

http://www.imagemagick.org/script/command-line-processing.php#geometry

Пример, где числа - это ширина, высота, x, y:

90x90+40+30

Скрепка анализирует стильПараметры строки и это ограничивается изменением размера и обрезки.Сложные параметры ImageMagick работают, если они передаются как :convert_options, поскольку они добавляются в команду convert без изменений.

has_attached_file :image,
  :styles => { :thumb => "" },
  :convert_options => { :thumb => "-crop 90x90+40+30" },
  :default_style => :thumb

Ссылки на исходный код процессора эскизов и вики-страницу:

4 голосов
/ 02 января 2011

Это также может ответить на ваш вопрос: http://railscasts.com/episodes/182-cropping-images

...