Gem, чтобы обрезать изображение до нескольких размеров в рельсах - PullRequest
2 голосов
/ 28 октября 2011

Когда пользователь обновляет изображение, я хотел бы обрезать его до разных размеров, чтобы соответствовать различным спецификациям в приложении, например, изображение большего размера для страницы профиля, изображение меньшего размера для комментариев и т. Д. Есть ли для этого доступный каменьрельсы?

Ответы [ 3 ]

3 голосов
/ 28 октября 2011

Я бы посоветовал вам использовать для этого Скрепку .С его помощью вы можете определить несколько размеров для вашего изображения.Вам нужно установить ImageMagick, чтобы это работало.Ваша рубиновая модель будет иметь такую ​​строку:

has_attached_file :image, :styles => { :small => "150x150>", :medium => "400x400#", :large => "640x640" }

По умолчанию используется изменение размера до минимального размера и сохранение соотношения сторон.Вы можете использовать некоторые опции, чтобы изменить это:

  1. трейлинг #, миниатюра будет обрезана по центру, обеспечивая требуемые размеры.
  2. трейлинг>, миниатюра будет изменена, только если она в настоящее времязапрашиваемые размеры больше.

В своем коде вы можете запросить изображение, используя image_tag @model.image.url(:small) на ваш взгляд.

Райан Бейтс имеет превосходный railscast по этомуесли вы хотите больше информации.Скрепка также имеет обширную вики на GitHub.

1 голос
/ 28 октября 2011

Попробуйте gem скрепки или carrierwave для работы с атташе

Также вы можете оформить заказ на проекты ImageMagick, RMagick или ImageScience

0 голосов
/ 28 октября 2011

Самая легкая библиотека изображений / манипуляций с изображениями, которую я знаю, это Devil .ImageMagick / Cairo может быть трудной для установки.У меня никогда не было проблем с DeviL.Приветствия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...