Ruby/RMagick 旋转和组合图像

标签 ruby image rotation composite rmagick

我试图在将图像合成到另一个图像之前旋转图像,使用 RMagick 和 ruby​​。我可以合成叠加图像,但是当我尝试旋转图像时,背景的部分被移除,就像这样......

enter image description here

我不确定我应该使用哪个 CompositeOperator,或者这是否是错误的方法?

image = Magick::Image.read("img.jpg").first         
overlay = Magick::Image.read("./overlay.png").first
overlay.rotate!(9)
image.composite!(overlay, 100, 50, Magick::OverCompositeOp)
image.to_blob

最佳答案

在旋转之前将背景设置为无:

overlay.background_color = "none"

旋转后其他可能使用的方法:

img.transparent_chroma(low, high, opacity=TransparentOpacity, invert=false)
img.transparent(color, opacity=TransparentOpacity)

所以在你的情况下:

overlay.transparent!("white")

关于Ruby/RMagick 旋转和组合图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8143282/

相关文章:

c# - 在 C# 中旋转图像的矩阵乘法

ruby - 如何用自定义对象包装 Ruby 数组,但支持与数组相同的方法?

ruby-on-rails - Ruby 和 Rails 开发人员应该知道什么?

css - 使用 rails 设置背景图像 css

javascript - 围绕世界轴旋转对象

ios - 如何避免旋转过程中的约束冲突?

css - 为什么我的 Rails 应用程序中的默认链接颜色发生了变化?

ruby - 使用正则表达式匹配存储在哈希中的内容

image - 无法垂直居中图像,但水平工作

html - 高分辨率 CSS Sprite