X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8a88769e50fcf3c538498f6fecdd2d0c7abca6ec..ce1522a1f20cbbf6be1dda237304e364d98f7902:/wxPython/demo/ImageAlpha.py?ds=sidebyside diff --git a/wxPython/demo/ImageAlpha.py b/wxPython/demo/ImageAlpha.py index cec268ce6e..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,18 +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 wxGTK)", - (25,25)) - + dc.DrawText("Bitmap alpha blending (on all ports but gtk+ 1.2)", + 25,25) + bmp = wx.Bitmap(opj('bitmaps/toucan.png')) - dc.DrawBitmap(bmp, (25,100), True) + 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.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) @@ -49,11 +66,14 @@ def runTest(frame, nb, log): overview = """

Images with Alpha

-wxMSW and wxGTK now support alpha channels of supported image -types, and will properly blend that chennel when drawing a +wxMSW and wxMac now support alpha channels of supported image +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!) +

On wxGTK this demo turns the alpha channel into a 1-bit mask, so +yes, it looks like crap. Please help us fix it! + """