def view(args: Namespace): mgr = get_asset_mgr() (path, points) = mgr.get(args.n) img = Image(path) img.perspective_transform(points) img.scale_bounded(X_MAX, Y_MAX) win = get_window() win.show(img) win.run_until_quit()
async def add(): # Adds image to the database def add_image(): inverse = 1 / factor mgr.add(path, [(round(p[0] * inverse), round(p[1] * inverse)) for p in points]) points.clear() for path in paths: img = Image(path) factor = img.scale_bounded(X_MAX, Y_MAX) scaled = copy(img) win.show(img) while True: while len(points) < 4: x, y = await win.click() points.append((x, y)) if len(points) == 4: p1 = points[-1] p2 = points[0] img.draw_line(p1, p2) if len(points) > 1: p1 = points[-2] p2 = points[-1] img.draw_line(p1, p2) img.draw_point(x, y) win.show(img) k = await win.keypress() if k == KEY_ENTER: add_image() break # Reset points.clear() img = copy(scaled) win.show(img)