Я создаю коллаж из миниатюр, используя Ruby 1.9.3.Миниатюры загружаются следующим образом:
image1 = MiniMagick::Image.open("1.jpg")
image2 = MiniMagick::Image.open("2.jpg")
image2.rotate "-45>"
image3 = MiniMagick::Image.open("3.jpg")
image3.rotate "45>"
Я никогда раньше не использовал ImageMagick или MiniMagick и получил код для компоновки изображений со страницы minimagick GitHub.
collage = MiniMagick::Image.create "jpg", false do |c|
c.size "1024x768"
c.canvas "white"
end
collage = collage.composite image1 do |c|
c.gravity "center"
end
collage = collage.composite image2 do |c|
c.gravity "east"
end
collage = collage.composite image3 do |c|
c.gravity "west"
end
collage.write("output.jpg")
Проблема появляется в команде Image.create.Когда я запускаю файл, используя
$ ruby prog.rb
, я получаю следующую ошибку
/Users/vinayshenoy/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/tempfile.rb:250:in `size': wrong number of arguments (1 for 0) (ArgumentError)
from prog.rb:14:in `block in <main>'
from /Users/vinayshenoy/.rvm/gems/ruby-1.9.3-p0/gems/mini_magick-3.4/lib/mini_magick.rb:158:in `call'
from /Users/vinayshenoy/.rvm/gems/ruby-1.9.3-p0/gems/mini_magick-3.4/lib/mini_magick.rb:158:in `create'
from prog.rb:13:in `<main>'
Файл сценария находится в том же каталоге, что и изображения.Я протестировал, написав image1, image2 и image3 для отдельных файлов, и все они работают.Пожалуйста, помогите.