wxPython公司wx.StaticBitmap颜色240240240240

2024-03-29 05:57:48 发布

您现在位置:Python中文网/ 问答频道 /正文

当我创建一个wx.Staticbitmap再加上位图,它看起来像是用RBG=240,240,240的颜色显示为透明的(应该是浅灰色)。 为了解决这个问题,我设置了wx.Staticbitmap也是240240240240。在

代码看起来像:

     self.image_container = wx.StaticBitmap(parent, id=-1, size=(self.x, self.y), pos=(0,0))
     self.image_container.SetBackgroundColour(wx.Colour(240, 240, 240))

     self.image_container.SetBitmap(bmp)

     self.image_container.Update()
     self.image_container.Refresh()

位图的深度为24位。我能看看这个款式吗wx.StaticBitmap错了什么的,但我想不通。好像是个虫子。在

Python版本是:2.7.13

Wx版本为:wxPython==4.0.0b2

在Windows 10上运行


Tags: 代码posimageself版本idsize颜色
1条回答
网友
1楼 · 发布于 2024-03-29 05:57:48

这是windowsapi的一个旧特性,当常用的图像格式不支持透明性时。其目的是为工具栏和菜单图标提供一种透明区域的方法,默认情况下,它们使用浅灰色来指示透明区域的位置,因为那是当时默认的窗口背景色。在

其他的解决方法也是可行的。在将图像提供给staticbitmap之前,可以在内存中对其进行调整,但在图像文件中修复它可能是最简单的方法。例如,您可以编辑图像文件并将240个灰度像素更改为241或其他值。或者,可以将图像文件转换为支持透明度的其他格式,这样可以绕过自动透明度设置。在

相关问题 更多 >