def snapshot(self, filename=None, quality=10, max_size=None): """ Take a screenshot and save it in ST.LOG_DIR folder Args: filename: name of the file to give to the screenshot, {time}.jpg by default quality: The image quality, integer in range [1, 99] max_size: the maximum size of the picture, e.g 1200 Returns: display the screenshot """ if self.handle: screen = screenshot(filename, self.handle) else: screen = screenshot(filename) if self.app: rect = self.get_rect() screen = aircv.crop_image( screen, [rect.left, rect.top, rect.right, rect.bottom]) if not screen.any(): if self.app: rect = self.get_rect() screen = aircv.crop_image( screenshot(filename), [rect.left, rect.top, rect.right, rect.bottom]) if self._focus_rect != (0, 0, 0, 0): height, width = screen.shape[:2] rect = (self._focus_rect[0], self._focus_rect[1], width + self._focus_rect[2], height + self._focus_rect[3]) screen = aircv.crop_image(screen, rect) if filename: aircv.imwrite(filename, screen, quality, max_size=max_size) return screen
def snapshot(self, filename=None): """ Take a screenshot and save it in ST.LOG_DIR folder Args: filename: name of the file to give to the screenshot, {time}.jpg by default Returns: display the screenshot """ if self.handle: screen = screenshot(filename, self.handle) else: screen = screenshot(filename) if self.app: rect = self.get_rect() screen = aircv.crop_image(screen, [rect.left, rect.top, rect.right, rect.bottom]) if not screen.any(): if self.app: rect = self.get_rect() screen = aircv.crop_image(screenshot(filename), [rect.left, rect.top, rect.right, rect.bottom]) if self._focus_rect != (0, 0, 0, 0): height, width = screen.shape[:2] rect = (self._focus_rect[0], self._focus_rect[1], width + self._focus_rect[2], height + self._focus_rect[3]) screen = aircv.crop_image(screen, rect) if filename: aircv.imwrite(filename, screen) return screen
def Record(self, bbox): import time import airtest.core.win.screen as screen threading.current_thread.name = 'recording' while True: if not self.m_bRecording: break self.m_Lock.acquire() print('Recording...', (bbox[2] - bbox[0], bbox[3] - bbox[1])) try: im = aircv.crop_image(screen.screenshot(None), bbox) self.video.write(numpy.array(im)) # 将img convert ndarray except: pass self.m_Lock.release() time.sleep(INTERVAL)