具有透明度的 PyGTK StatusIcon

发布于 2024-08-24 16:24:54 字数 656 浏览 6 评论 0原文

我正在尝试创建一个具有透明背景的 PyGTK StatusIcon 。我需要在运行时绘制 StatusIcon 的内容。

StatusIcon 需要一个 Pixbuf 对象(可以具有透明度)。没问题:

pixbuf = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, True, 8, width, height)
pixbuf.fill(0xffffffff)

问题是,我无法绘制 Pixbuf 对象。我当前的方法是绘制 Pixmap ,然后将其转换为Pixbuf,但不幸的是 Pixmap 不能具有透明度。

如何获得可以在运行时绘制的具有透明背景的 Pixbuf?

问候, 菲利普

I'm trying to create a PyGTK StatusIcon with transparent background. I need to draw the contents of the StatusIcon at runtime.

StatusIcon wants a Pixbuf object (which can have transparency). No problem with that:

pixbuf = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, True, 8, width, height)
pixbuf.fill(0xffffffff)

The problem is, I can't draw to Pixbuf objects. My current approach is to draw to a Pixmap and then convert it to a Pixbuf, but unfortunately Pixmaps can't have transparency.

How do I get a Pixbuf with transparent background that I can draw at runtime?

Greets,
Philip

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

徒留西风 2024-08-31 16:24:54

您可以使用 add_alpha() 方法为 Pixbuf 对象添加透明度。以下行将为颜色设置零不透明度#ffffff:

pixbuf = pixbuf.add_alpha(True, 0xFF, 0xFF, 0xFF)

太简单了... :-|

You can add transparency to Pixbuf objects with the add_alpha() method. The following line will set zero opacity for the color #ffffff:

pixbuf = pixbuf.add_alpha(True, 0xFF, 0xFF, 0xFF)

Too easy... :-|

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文