使用 mini_magick 指定复合材料的几何形状

发布于 2024-10-31 22:35:01 字数 544 浏览 5 评论 0原文

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

有什么想法吗?

I am basically trying to write this command with mini_magick.

gm composite -compose Copy -geometry +0+210 note-transparent1.png note-rugby.png note-rugby-e.png

This is my code:

 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"

The images are composited and written to the new file; however the geometry isn't respected. The image is not offset.

I also tried setting the mini_magick processor to ImageMagick instead of GraphicsMagick, but I get the same result.

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

转身泪倾城 2024-11-07 22:35:01

我将 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"

I am using mini_magick with ImageMagick, and the below code works for compositing.

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"
百变从容 2024-11-07 22:35:01

根据 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"

According to 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"
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文