Масштабирование картинок в Rails Paperclip и вообще ImageMagick

Я тут недавно использовал Paperclip для аплоада аватарок и поскольку постоянно забываю параметры для масштабирования картинок, решил их тут зафиксировать.

Плагин Paperclip для Rails использует ImageMagick для масштабирования картинок и создания их копий разного размера.

Ну и указывать ему параметры надо в формате ImageMagick’а. Вариантов больше одного и все их запомнить не так легко. Собственно, вот наиболее востребованные:

Размер указывается обычно в виде <width>x<height> в пикселах, на конце может быть модификатор. Иногда можно пропустить высоту либо размер.

  • 256×256 – Максимальный размер изображения, при сохранении пропорций. Если, например, меняете картинку 512*256, размер станет 256*128 чтобы картинка умещалась в указанном размере
  • 256×256! – Используется чтобы указать точный размер картинки, исходное изображение будет отмасштабировано невзирая на пропорции точно к указанному размеру
  • 256x - Изображение будет отмасштабировано таким образом, чтобы ширина стала равной 256 сохраняя пропорции
  • x256 - Изображение будет отмасштабировано таким образом, чтобы высота стала равной 256 сохраняя пропорции
  • 256×256^ – Указывает минимальный размер картинки, исходное изображение может быть больше указанных размеров
  • 256×256> - Изображение будет отмасштабировано только в том случае, если оно больше, чем указанный размер
  • 256×256< – Изображение будет отмасштабировано только если оно меньше указанных размеров

Ну если вам этого не хватает, RTFM!

2 thoughts on “Масштабирование картинок в Rails Paperclip и вообще ImageMagick

  1. Подскажите пожалуйста, для того чтоб заработал paperclip на хостинге IMagic так же необходимо устанавливать?
    Если да, то как это возможно сделать?

    Спасибо!

    • Как говорится в аннотации https://github.com/thoughtbot/paperclip, ImageMagick обязателен. Как его поставить посмотрите в гугле для вашей операционки. Если хостинг шареный и ImageMagick нет – придётся общаться с хостером, но , думаю, вопрос решабельный.

Leave a Reply