#ruby-on-rails #ruby #imagemagick #graphicsmagick #minimagick
#ruby-on-rails #ruby #imagemagick #graphicsmagick #minimagick
Вопрос:
В основном я пытаюсь написать эту команду с помощью mini_magick.
gm composite -compose Copy -geometry 0 210 note-transparent1.png note-rugby.png note-rugby-e.png
Это мой код:
image = MiniMagick::Image.open("note-transparent1.png")
result = image.composite(MiniMagick::Image.open("note-rugby.png") do |c|
c.compose = "Copy"
c.geometry = " 0 210"
end)
result.write "note-rugby-e.png"
Изображения объединяются и записываются в новый файл; однако геометрия не соблюдается. Изображение не смещено.
Я также попытался настроить процессор mini_magick на ImageMagick вместо GraphicsMagick, но я получаю тот же результат.
Есть идеи?
Ответ №1:
Я использую mini_magick с ImageMagick, и приведенный ниже код работает для компоновки.
bground = MiniMagick::Image.open("bground.jpg")
image = MiniMagick::Image.open("image.jpg")
result = bground.composite(image) do |c|
c.gravity "NorthWest"
c.geometry '400x400 20 56'
end
result.write "output.jpg"
Ответ №2:
Согласно rubydoc minimagic
first_image = MiniMagick::Image.open "first.jpg"
second_image = MiniMagick::Image.open "second.jpg"
result = first_image.composite(second_image) do |c|
c.compose "Over" # OverCompositeOp
c.geometry " 20 20" # copy second_image onto first_image from (20, 20)
end
result.write "output.jpg"