我想使用Rmagick在我的图像上添加一个灰色透明图层。我所能得到的只是一个不透明的黑色。
这是我最好的尝试:
bg = Magick::ImageList.new
open('http://static.lukew.com/dropdowns_effort.png', 'rb') do |f|
bg.from_blob(f.read)
end
layer = Magick::Image.new(400, 400) {
self.background_color = Magick::Pixel.new(0, 0, 0, 0.5)
}
layer.alpha(Magick::ActivateAlphaChannel)
layer.opacity = 0.5
bg.each do |frame|
frame.composite!(layer, 0, 0, Magick::OverCompositeOp)
frame.strip!
end
bg.write
由于这question表明这可能取决于环境,我使用的是运行Yosemite的mac。