6

我基本上是在尝试用 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,但我得到了相同的结果。

有任何想法吗?

4

2 回答 2

5

我将 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"
于 2011-12-17T20:18:36.123 回答
2

根据ruby​​doc 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"
于 2016-01-12T10:47:30.127 回答