Манипуляция изображением — это искусство преобразования изображения таким образом, чтобы оно отображалось так, как вы хотите, а не так, как показывает исходное изображение.

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

Этого можно добиться с помощью ImageMagick.

  • ImageMagick — это пакет программного обеспечения для создания, редактирования, компоновки или преобразования растровых изображений.
  • Мы можем использовать ImageMagick для изменения размера, отражения, зеркального отображения, поворота, искажения, обрезки и преобразования изображений, настройки цветов изображения, применения различных специальных эффектов или рисования текста, линий, многоугольников, эллипсов и кривых Безье.

Возможности ImageMagick:

  • Преобразование формата: преобразование изображения из одного формата в другой (например, из PNG в JPEG).
  • Преобразовать: изменить размер, повернуть, обрезать, перевернуть или обрезать изображение.
  • Прозрачность: делает части изображения невидимыми.
  • Рисовать: добавлять фигуры или текст к изображению.
  • Украшение: добавление границы или рамки к изображению.
  • Специальные эффекты: размытие, резкость, пороговое значение или оттенок изображения.
  • Анимация: создайте последовательность анимации GIF из группы изображений.
  • Текст и комментарии: вставка описательного или художественного текста в изображение.
  • Идентификация изображения: описание формата и атрибутов изображения.
  • Составной: наложение одного изображения на другое.
  • Монтаж: сопоставьте миниатюры изображений на холсте изображения.

Добавьте gem rmagick для ruby ​​или rmagick4j для jruby в ваш файл gem.

Используя скрепку convert_options, мы можем указать параметры цвета фона, цвета границы, качества, изменения размера, тени и т. д.,

Обрезка изображения:

Реализовано с использованием скрепки и jcrop

Мы можем напрямую вызывать jcrop, используя id/class. Затем мы можем получить новую высоту и ширину.

$(функция() {

$(‘#cropbox’).Jcrop();

});

Для размера обрезки по умолчанию

$(функция() {

$(‘#cropbox’).Jcrop({

при изменении: update_crop,

onSelect: update_crop,

setSelect: [0, 0, 500, 500],

соотношение сторон: 1

});

});

Читать полную статью в Блоге RailsCarma