如何使用位图在wxpython中加载任何图像格式


import wx
import sys, glob
class DemoFrame(wx.Frame):
 def __init__(self):
    wx.Frame.__init__(self, None, -1,"wx.ListCtrl in wx.LC_ICON mode",size=(600,400))
    il_max=0
    il = wx.ImageList(200,200)
    for name in glob.glob("img/*.bmp"):
        bmp = wx.Bitmap(name, wx.BITMAP_TYPE_BMP)
        il_max = il.Add(bmp)
    self.list = wx.ListCtrl(self, -1, style=wx.LC_ICON | wx.LC_AUTOARRANGE)
    self.list.AssignImageList(il, wx.IMAGE_LIST_NORMAL)
    for x in range(25):
        img = x % (il_max+1)
        self.list.InsertImageStringItem(x, "This is item %02d" % x, img)
 app = wx.PySimpleApp()
 frame = DemoFrame()
 frame.Show()
 app.MainLoop()

此代码仅适用于 bmp,不适用于 jpeg 或 png

需要什么合适的更改才能使其适用于任何图像格式?

更改

bmp = wx.Bitmap(name, wx.BITMAP_TYPE_BMP)

bmp = wx.Bitmap(name, wx.BITMAP_TYPE_ANY)

还有

BITMAP_TYPE_CUR
BITMAP_TYPE_ICON
BITMAP_TYPE_IFF
BITMAP_TYPE_GIF
BITMAP_TYPE_JPEG
BITMAP_TYPE_PNG
BITMAP_TYPE_TIF

....其中

最新更新