【问题标题】:Display a transparent .png in wxpython在 wxpython 中显示一个透明的 .png
【发布时间】:2011-07-18 19:40:28
【问题描述】:

我使用的是 Python 2.7。我需要在 wxpython 中显示一个 .png 图像文件,以便保留透明度,并且您仍然可以看到图像透明部分后面的控件。这需要在 Windows、Mac 和 Linux 中工作。

【问题讨论】:

    标签: wxpython png wxwidgets


    【解决方案1】:

    我只是想添加如何正常绘制带有透明胶片的 png,对于那些在谷歌上遇到这个问题的人(就像我所做的那样),所以他们最终不会因为接受的答案而认为这是不可能的(就像我所做的那样)

    import wx
    
    dc = wx.PaintDC(self)
    self.pngimage = wx.Bitmap('image.png', wx.BITMAP_TYPE_PNG)
    dc.DrawBitMap(self.pngimage, x, y)
    

    这就是我所做的,所有的透明胶片都完美显示。我正在使用 wxpython 2.9.4.0

    【讨论】:

    • 很高兴你找到了这个。当时它真的不在文档中的任何地方。
    • 当我尝试这个时,我得到这个错误:>> NameError: global name 'wx_PaintDC' is not defined.
    • 还有x、y变量……它们从何而来?
    【解决方案2】:

    为什么要在控件上方显示图像。我会将控件放在图像的侧面、顶部或下方。最近在 wxPython 列表中出现了几个关于 png 和透明度的线程:https://groups.google.com/forum/#!topic/wxpython-users/ANZGyF0kkZ0

    https://groups.google.com/forum/#!topic/wxpython-users/_X2zhlTj_Fg

    也许其中之一也会对您有所帮助。

    【讨论】:

    • 我的项目更像是游戏,而不是标准应用程序(请不要将我介绍给 GameDev,他们无法帮助我。)而且,虽然我从链接中假设面具可能会有所帮助,但都没有给我一个直接的答案。
    • 我认为 pygame 或 pyglet 比 wxPython 更适合做游戏。
    • 我不需要有人重新创建我的项目或为我挑选不同的工具。我的问题需要一个答案。
    • 我想我应该更好地措辞。 wxPython 用于桌面 GUI,而不是用于游戏。虽然我看到邮件列表中的人将它用于游戏,但他们通常会嵌入其他东西,例如 OpenGL 或 vpython。
    • 我已经探索过 pygame 和 pyglet,虽然它们可能包含一些我可能会使用的工具,但我的需求并不是典型游戏的需求。我已经编写了自己的游戏核心来满足我的需求,而且我非常依赖跨平台视频和透明 PNG,pygame 兼容的 GUI 的功能并没有削减它。事实上,我现在开始转向 PyGTK。
    猜你喜欢
    • 2019-12-12
    • 1970-01-01
    • 1970-01-01
    • 2021-11-26
    • 2011-06-22
    • 2012-03-25
    • 2014-09-30
    • 2014-12-18
    • 2010-10-11
    相关资源
    最近更新 更多