我试图在将图像合成到另一个图像之前旋转图像,使用 RMagick 和 ruby。我可以合成叠加图像,但是当我尝试旋转图像时,背景的部分被移除,就像这样......
我不确定我应该使用哪个 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/