示例#1
0
def take_screenshots(conn):
    global window_title
    global ss_dir
    global char_dir

    ss = Screenshot(window_title)
    outdir = os.path.join(ss_dir, char_dir)
    mkdirs(outdir)

    first = prev = curr = ss.screenshot()
    first = ss.crop_action_hud(first)
    i = 0
    while True:
        curr = ss.screenshot()
        curr_crop = ss.crop_action_hud(curr)
        if i != 0:
            if not is_different(first, curr_crop):
                break

        if is_different(ss.crop_action_hud(prev), curr_crop):
            outfile = os.path.join(outdir, str(i) + '.png')
            ss.save(outfile)
            info = ss.get_info()
            conn.send(
                json.dumps({
                    'event': 'new_file',
                    'file': os.path.abspath(outfile),
                    'width': info['bmWidth'],
                    'height': info['bmHeight']
                }))
            i += 1

        prev = curr