]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/samples/wxPIA_book/Chapter-12/draw_image.py
Added the sample code from wxPython In Action to the samples dir
[wxWidgets.git] / wxPython / samples / wxPIA_book / Chapter-12 / draw_image.py
diff --git a/wxPython/samples/wxPIA_book/Chapter-12/draw_image.py b/wxPython/samples/wxPIA_book/Chapter-12/draw_image.py
new file mode 100644 (file)
index 0000000..12ae522
--- /dev/null
@@ -0,0 +1,46 @@
+# This one shows how to draw images on a DC.
+
+import wx
+import random
+random.seed()
+
+class RandomImagePlacementWindow(wx.Window):
+    def __init__(self, parent, image):
+        wx.Window.__init__(self, parent)
+        self.photo = image.ConvertToBitmap()
+
+        # choose some random positions to draw the image at:
+        self.positions = [(10,10)]
+        for x in range(50):
+            x = random.randint(0, 1000)
+            y = random.randint(0, 1000)
+            self.positions.append( (x,y) )
+            
+        # Bind the Paint event
+        self.Bind(wx.EVT_PAINT, self.OnPaint)
+
+
+    def OnPaint(self, evt):
+        # create and clear the DC
+        dc = wx.PaintDC(self)
+        brush = wx.Brush("sky blue")
+        dc.SetBackground(brush)
+        dc.Clear()
+
+        # draw the image in random locations
+        for x,y in self.positions:
+            dc.DrawBitmap(self.photo, x, y, True)
+
+        
+class TestFrame(wx.Frame):
+    def __init__(self):
+        wx.Frame.__init__(self, None, title="Loading Images",
+                          size=(640,480))
+        img = wx.Image("masked-portrait.png")
+        win = RandomImagePlacementWindow(self, img)
+        
+
+app = wx.PySimpleApp()
+frm = TestFrame()
+frm.Show()
+app.MainLoop()