Как создать изображение RMagick из вложения Paperclip? - PullRequest
0 голосов
/ 03 марта 2011

Предположим, у меня есть изображение, хранящееся в виде скрепки.Я хочу использовать это изображение в RMagick для создания других изображений.Но когда я спрашиваю об этом скрепку, мне вручают URL, который возвращает данные изображения;и я думаю, я мог бы прочитать это в файл, а затем прочитать файл обратно в RMagick - и на самом деле, это то, что я планирую сделать сейчас - но кажется, что очень хорошо должно быть более прямымway.

Другими словами, мой вопрос обратный этому: как создать вложение Paperclip из изображения RMagick? Я хочу знать наиболее прямые способы создания RMagickизображение из рисунка, прикрепленного к скрепке.

ОБНОВЛЕНИЕ: На всякий случай неясно - основная проблема в том, что ImageList.new () не примет путь, потому что скрепка возвращает URL и RMagick.очевидно ожидает локальный путь файловой системы.Возможно, я что-то здесь упускаю.Спасибо!

Ответы [ 2 ]

3 голосов
/ 03 марта 2011

Вы используете Ruby. Обезьяна-заплатка Paperclip::Attachment!

# lib/paperclip_magick.rb
require 'RMagick'

module PaperclipMagick
  def to_rmagick(style_name = default_style)
     @image_list ||= ImageList.new(self.path(style_name))
  end
end

Paperclip::Attachment.send(:include, Magick)
Paperclip::Attachment.send(:include, PaperclipMagick)

Или что-то в этом роде.

0 голосов
/ 03 марта 2011

Мне кажется, что, поскольку вы оперируете над вложением в своей модели (я полагаю, это модель изображения? Давайте назовем это так ...), вы должны добавить методы к своей модели изображения, чтобы выполнять любые необходимые операции. делать например.

class image < A::B


 def add_logo

   add logo to  self.attachment.path

 end 

end 
...