X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/803a0ba6b6afa6cc62e818e336a2df420aab70f8..c1dda21b64f300d89cbc084802082d37c694e971:/wxPython/demo/ImageAlpha.py?ds=sidebyside diff --git a/wxPython/demo/ImageAlpha.py b/wxPython/demo/ImageAlpha.py index 28f44b26aa..9613a8ce91 100644 --- a/wxPython/demo/ImageAlpha.py +++ b/wxPython/demo/ImageAlpha.py @@ -5,7 +5,7 @@ from Main import opj #---------------------------------------------------------------------- -msg = "This is some text that will appear behind the image..." +msg = "Some text will appear mixed in the image's shadow..." class TestPanel(wx.Panel): def __init__(self, parent, log): @@ -21,22 +21,35 @@ class TestPanel(wx.Panel): dc.Clear() dc.SetFont(wx.Font(16, wx.SWISS, wx.NORMAL, wx.BOLD, True)) - dc.DrawText("Bitmap alpha blending (on wxMSW and wxMac only)", - (25,25)) - + dc.DrawText("Bitmap alpha blending (on all ports but gtk+ 1.2)", + 25,25) + bmp = wx.Bitmap(opj('bitmaps/toucan.png')) - if wx.Platform == "__WXGTK__": - # try to make up for it a bit... - bmp.SetMaskColour("black") + if "gtk1" in wx.PlatformInfo: + # Try to make up for lack of alpha support in wxGTK (gtk+ + # 1.2) by converting the alpha blending into a + # transparency mask. + + # first convert to a wx.Image + img = bmp.ConvertToImage() + + # Then convert the alpha channel to a mask, specifying the + # threshold below which alpha will be made fully + # transparent + img.ConvertAlphaToMask(220) + + # convert back to a wx.Bitmap + bmp = img.ConvertToBitmap() + - dc.DrawBitmap(bmp, (25,100), True) + dc.DrawBitmap(bmp, 25,100, True) dc.SetFont(self.GetFont()) y = 75 for line in range(10): y += dc.GetCharHeight() + 5 - dc.DrawText(msg, (200, y)) - dc.DrawBitmap(bmp, (250,100), True) + dc.DrawText(msg, 200, y) + dc.DrawBitmap(bmp, 250,100, True) @@ -54,7 +67,7 @@ overview = """

Images with Alpha

wxMSW and wxMac now support alpha channels of supported image -types, and will properly blend that chennel when drawing a +types, and will properly blend that channel when drawing a bitmap. It is not supported yet on wxGTK, (if you would like to change that please submit a patch!)