带透明的PyGTK状态图标
我正在尝试创建一个带透明背景的 PyGTK 状态图标。我需要在运行时绘制状态图标的内容。
状态图标需要一个 Pixbuf 对象(这个对象可以有透明部分)。这没问题:
pixbuf = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, True, 8, width, height)
pixbuf.fill(0xffffffff)
问题是,我无法直接在 Pixbuf 对象上绘图。我现在的做法是先在一个 Pixmap 上绘图,然后再把它转换成 Pixbuf,但不幸的是,Pixmap 是不能有透明部分的。
我该如何获得一个可以在运行时绘制的透明背景的 Pixbuf 呢?
问候,
Philip
1 个回答
4
你可以通过add_alpha()这个方法给Pixbuf对象添加透明度。下面这一行代码会把颜色#ffffff的透明度设置为零,也就是完全透明:
pixbuf = pixbuf.add_alpha(True, 0xFF, 0xFF, 0xFF)
太简单了... :-|