Ruby RMagick掩蔽-不同背景不同结果
我有两张t恤图片,颜色是黑色和粉色。我想把它和安卓标志融合在一起。在黑色t恤上,效果非常好。但在粉红色的那一款上,安卓的图像太亮了 这是我的密码Ruby RMagick掩蔽-不同背景不同结果,ruby,imagemagick,rmagick,image-masking,Ruby,Imagemagick,Rmagick,Image Masking,我有两张t恤图片,颜色是黑色和粉色。我想把它和安卓标志融合在一起。在黑色t恤上,效果非常好。但在粉红色的那一款上,安卓的图像太亮了 这是我的密码 tshirt = Magick::Image.read("/Volumes/Work/rmagick/cacat.png").first canvas = Magick::Image.new(tshirt.rows, tshirt.columns) do |c| c.background_color = "none"
tshirt = Magick::Image.read("/Volumes/Work/rmagick/cacat.png").first
canvas = Magick::Image.new(tshirt.rows, tshirt.columns) do |c|
c.background_color = "none"
end
img = Magick::Image.read("/Volumes/Work/rmagick/android_logo2.png").first
img = img.resize_to_fit(250)
# # contour
contour = img.composite!(canvas, Magick::CenterGravity, Magick::InCompositeOp)
img = Magick::Image.read("/Volumes/Work/rmagick/android_logo2.png").first
img = img.resize_to_fit(250)
contour = contour.composite!(img, Magick::CenterGravity, Magick::AddCompositeOp)
tshirt = tshirt.composite!(contour, 295,250, Magick::PlusCompositeOp)
tshirt.write('/Volumes/Work/jadi.png')
结果如下
那么,我怎样才能让安卓形象像穿在黑色t恤上一样呢。我应该更改哪种代码?您可以通过以下方式获得混合模式列表:
identify -list compose
因此,您可以这样做,看看哪一个适合您的需要:
#!/bin/bash
for blend in $(identify -list compose|grep -v Blur ); do
convert -gravity center -label "$blend" tshirt.png android.png -compose $blend -composite miff:-
done | montage - -tile 5x result.png
您可以通过以下方式获得混合模式列表:
identify -list compose
因此,您可以这样做,看看哪一个适合您的需要:
#!/bin/bash
for blend in $(identify -list compose|grep -v Blur ); do
convert -gravity center -label "$blend" tshirt.png android.png -compose $blend -composite miff:-
done | montage - -tile 5x result.png
我不会说Ruby,但尝试将
Magick::PlusCompositeOp
更改为其他内容-可能是名称中带有Overlay
或Blend
的内容。如果您只有imagemagick命令就可以了。我不会说Ruby,但是,尝试将Magick::PlusCompositeOp
更改为其他内容-可能是名称中带有Overlay
或Blend
的内容。如果您只有imagemagick命令,则可以。