Seite 1 von 1

imagelist und alpha channel

Verfasst: Freitag 22. Juni 2007, 09:56
von tumbili
Hi

Ich habe ein kleines Problem mit meinem TreeCtrl bzw der Imagelist. Kann es sein dass die Imagelist keinen alpha channel unterstützt?

Hier ein kleines Programm zum testen:

Code: Alles auswählen

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import  wx

class MyFrame(wx.Frame):
	def __init__(self, parent, ID, title):
		wx.Frame.__init__(self, parent, ID, title)

		# TreeCtrl
		tree = wx.TreeCtrl(self, wx.ID_ANY)

		imagelist = wx.ImageList(16, 16, False)
		image = wx.Image("test.png", wx.BITMAP_TYPE_PNG)
		il_image = imagelist.Add(image.ConvertToBitmap())

		tree.AssignImageList(imagelist)
		tree.AddRoot("TEST", il_image)

		# Menubar
		menuBar = wx.MenuBar()
		menu = wx.Menu()

		menu_item = wx.MenuItem(menu, wx.ID_ANY, "Image")
		menu_item.SetBitmap(image.ConvertToBitmap())
		menu.AppendItem(menu_item)

		menu_item = wx.MenuItem(menu, wx.ID_ANY, "Imagelist")
		menu_item.SetBitmap(imagelist.GetBitmap(0))
		menu.AppendItem(menu_item)
		menuBar.Append(menu, "Test")

		# Menubar hinzufügen
		self.SetMenuBar(menuBar)

		self.Center()
		self.Show()

if __name__ == '__main__':
	app = wx.PySimpleApp()
	MyFrame(None, wx.ID_ANY, 'Test')
	app.MainLoop()
Getestet habe ich es mit Python 2.5 und wxPython 2.8.4.0.

Leider wird die Alpha Transparenz nur dargestellt wenn ich das Bild nicht aus der Imagelist lade....

mein verwendetes Testbild könnt ihr hier runterladen (am besten dann noch in test.png umbennenen ;) ):
http://img207.imageshack.us/img207/8416/testan4.png

Also habe ich etwas falsch gemacht oder ist das ein Bug in wxPython/wxWidgets?