Обрабатываем картинки с помощью RMagick (for ROR)

logo400x83Пара примеров для работы с библиотекой (очень полезная штука, когда разрабатываете на Ruby on Rails, и надо обрабатывать картинки).

1. Изменения размера (вырезает область) + серая рамка рисуется

  1. img.crop_resized!(size[0], size[1]Magick::NorthGravity)
  2. img.border!(22‘#ccc’)

2.Изменение размера (пропорционально)

  1. size = ’20×20′
  2. img.change_geometry(size.to_s) { |cols, rows, image| image.resize!(cols, rows) }

3.Вырезание к новому размеру ( Crop )

  1. clown = Magick::ImageList.new("clown.jpg")
  2. face = clown.crop(50, 15, 150, 165)
  3. white_bg = Magick::Image.new(clown.columns, clown.rows)
  4. clown = white_bg.composite(face, 50, 15,Magick::OverCompositeOp)
  5. clown.write(‘crop.jpg’)

4.Создание Flickr-style тумбсов

  1. clown = Magick::Image.read("clown.jpg").first
  2. clown.crop_resized!(75, 75, Magick::NorthGravity)
  3. clown.write(‘crop_resized.jpg’)

5.Поворот на любой градус

  1. clown = Magick::ImageList.new("clown.jpg")
  2. clown = clown.rotate(90) # 90 – это градус
  3. clown.write(‘rotate.jpg’)

6.Добавляем текст на картинку в низ

  1. clown = Magick::ImageList.new("clown.jpg")
  2. text = Magick::Draw.new
  3. text.annotate(clown, 0, 0, 0, 60, "Я текст!") {
  4. self.gravity = Magick::SouthGravity
  5. self.pointsize = 48
  6. self.stroke = ‘transparent’
  7. self.fill = ‘#0000A9′
  8. self.font_weight = Magick::BoldWeight
  9. }
  10. clown.write(‘annotate.jpg’)

Нужно больше? Вот документация.

Удачи в освоении.

11. января 2009 by Alexey Vasiliev
Categories: Ruby, Ruby on Rails | Tags: , , | Один комментарий

One Comment

  1. Спасибо! уже юзаю