import requests from time import sleep # Progress-bar from tqdm import tqdm # Work with list-like objects from listwork import * from os import system print("Поместите файл картинки в папку с этим файлом.") coordbyx = input("Введите координату по X (по умолчанию - 0)\n> ") coordbyy = input("Введите координату по Y (по умолчанию - 0)\n> ") if coordbyx=="": coordbyx=0 if coordbyy=="": coordbyy=0 try: coordbyx=int(coordbyx) coordbyy=int(coordbyy) except: print("Цифрами, балбес.") system("pause") system("exit") # Easy debug from icecream import ic ic.disable() # Disable debug global server #server = 'http://127.0.0.1:3333' server = 'http://pb.gulyaipole.fun' # fill(0,0, 10,10, [0,0,0]) def fill(x1,y1, x2,y2, color): pxls = [] r = color[0] ; g = color[1] ; b = color[2] for x in range(x1, x2+1): for y in range(y1, y2+1): pxls.append([x, y, r, g, b]) return pxls # draw( fill(...) ) def draw(pxls): global server ic(pxls) push = [] # Push %limit% items limit = 300 while len(pxls) > limit: packs = [] # Merge elements to %limit% size list for i in range(limit): # Take first element packs.append(pxls[0]) pxls.pop(0) push.append({"main": pack(packs)}) push.append({"main": pack(pxls)}) # Pack last ic(push) for i in tqdm(push): response = requests.post(server, i) while not response.status_code == 200: print("Error, retrying...") response = requests.post(server, i) sleep(0.1) # cfill(0,0, 10,10) // Limit - 34x34 def cfill(x1,y1, x2,y2): pxls = [] for x in range(x1, x2+1): for y in range(y1, y2+1): pxls.append([x, y]) packed = pack(pxls) return packed # ccheck( packed([[0,0]]) ) or ccheck(cfill(...)) def ccheck(packed): global server response = requests.get(f'{server}/get_color={packed}') ic(response.text) out = unpack(response.text) return out # Draw image (flipped (BUG) ) from im_convert import * try: image = convert("image.png", [coordbyx,coordbyy]) except: print('Файл картинки отсутствует, или назван не "image.png"') system('pause') system('exit') from remove_back import * draw(optimize(image, [255,255,255]) ) # Remove white background and draw