截图的原理很简单,首先将当前整个屏幕的图像给保存下来,再将截取的位图贴到全屏,然后通过鼠标的控制,来绘制选中区域的高亮和未选中区域的阴暗背景。
父窗口通过以下函数截取整个屏幕
def Get_Screen_Bmp(self):
s = wx.GetDisplaySize()
bmp = wx.EmptyBitmap(s.x, s.y)
dc = wx.ScreenDC()
memdc = wx.MemoryDC()
memdc.SelectObject(bmp)
memdc.Blit(0,0, s.x, s.y, dc, 0,0)
memdc.SelectObject(wx.NullBitmap)
return bmp
子窗口类:
class GrabFrame(wx.Frame):
def __init__(self, frame):
wx.Frame.__init__(self, frame, wx.NewId(), pos = (0, 0),
size=wx.GetDisplaySize(), style&#