code: def screen_cv2(self):
          
          hwnd = win32gui.GetDesktopWindow()
          left, top, right, bottom = self.rect
          width, height = right-left, bottom-top
          # copy bits to temporary dc
          win32gui.BitBlt(self._hdcmem, 0, 0, width, height, 
                          self._hdcwin, left, top, win32con.SRCCOPY)
          # read bits into buffer
          windll.gdi32.GetDIBits(self._hdcmem, self._hbmp.handle, 0, height, self._buf, ctypes.byref(self._bi), win32con.DIB_RGB_COLORS)
          # make a cv2 Image
          arr = np.fromstring(self._buf, dtype=np.uint8)
          img = arr.reshape(height, width, 4)
          img = img[::-1,:, 0:3]
          return img
docs: cv2 Image of current window screen