1

好像我能找到这个,但什么都找不到。有一个简短的脚本:

require 'rubygems'
require 'RMagick'

img = Magick::ImageList.new("public/images/dev_banner_background.png")
gc = Magick::Draw.new

img.annotate(gc, 0,0,15,130, "| #{ENV['SERVER_TYPE']} Server |") do
  self.pointsize = 13
  self.rotation = -45
  self.kerning = 1
  self.stroke = "#ffffff"
  self.fill = "#ffffff"
end

picture = img.flatten_images

picture.write("public/images/dev_banner.png")

dev_banner_background.png 是一个透明背景的小横幅,类似于 Github 的“Fork me on Github”横幅。

可以很好地将此文本覆盖在横幅上(希望覆盖在开发/登台服务器上)。但是生成的图像具有白色背景。假设它在 flatten_images 调用中,但无法弄清楚如何使其具有透明度。任何人?

4

1 回答 1

0

找到了。

  img = Magick::ImageList.new("public/images/dev_banner_background.png")
  img.background_color = "none"
  gc = Magick::Draw.new

我试图在flatten_images, 和annotate方法中设置背景颜色。我没有意识到它直接ImageList有一个background_color属性,因为我没有在实例方法和属性列表中看到它。也许我只是错过了。

于 2012-05-22T15:26:59.313 回答