@ -0,0 +1,18 @@ |
|||||
|
#!/usr/bin/env python3 |
||||
|
|
||||
|
import string |
||||
|
import numpy as np |
||||
|
from PIL import Image |
||||
|
import urllib.request |
||||
|
from io import BytesIO |
||||
|
|
||||
|
def cat(h, w): |
||||
|
url = f'https://cataas.com/cat?width={w}&height={h}' |
||||
|
resp = urllib.request.urlopen(url) |
||||
|
im_data = resp.read() |
||||
|
im = Image.open(BytesIO(im_data)) |
||||
|
im.show() |
||||
|
return im |
||||
|
|
||||
|
if __name__ == "__main__": |
||||
|
cat(1920,1080) |
After Width: | Height: | Size: 124 KiB |
After Width: | Height: | Size: 106 KiB |
After Width: | Height: | Size: 109 KiB |
After Width: | Height: | Size: 224 KiB |
After Width: | Height: | Size: 100 KiB |
After Width: | Height: | Size: 260 KiB |
After Width: | Height: | Size: 96 KiB |
After Width: | Height: | Size: 692 KiB |
@ -0,0 +1,51 @@ |
|||||
|
#!/usr/bin/env python3 |
||||
|
|
||||
|
import socket |
||||
|
import sys |
||||
|
from itertools import product |
||||
|
import string |
||||
|
import numpy as np |
||||
|
from PIL import Image |
||||
|
from cat import cat |
||||
|
|
||||
|
# open image to be sent |
||||
|
image = sys.argv[1] |
||||
|
im = Image.open(image) |
||||
|
|
||||
|
pixels = list(im.getdata()) |
||||
|
width, height = im.size |
||||
|
pixels = [pixels[i * width:(i + 1) * width] for i in range(0,height)] |
||||
|
|
||||
|
HOST, PORT = "px.oeinf.de", 1234 |
||||
|
|
||||
|
# change start point if requested |
||||
|
starth, startw = 0, 0 |
||||
|
if len(sys.argv) > 2: starth = int(sys.argv[2]) |
||||
|
if len(sys.argv) > 3: startw = int(sys.argv[3]) |
||||
|
rnd = False |
||||
|
if len(sys.argv) > 4: rnd = sys.argv[4] == "rnd" |
||||
|
|
||||
|
# Create a socket (SOCK_STREAM means a TCP socket) |
||||
|
# Connect to server and send data |
||||
|
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock: |
||||
|
sock.connect((HOST, PORT)) |
||||
|
|
||||
|
# query canvas size |
||||
|
to_send = "size\n" |
||||
|
sock.sendall(bytes(to_send, "utf-8")) |
||||
|
received = str(sock.recv(1024), "utf-8") |
||||
|
sizew = int(received.split(" ")[1]) |
||||
|
sizeh = int(received.split(" ")[2]) |
||||
|
|
||||
|
# create list of stuff and shuffle if requested |
||||
|
widthlist = list(range(0 + startw,min(int(sizew),(width+startw)))) |
||||
|
heightlist = list(range(0 + starth, min(int(sizeh),(height+starth)))) |
||||
|
if rnd: np.random.shuffle(widthlist) |
||||
|
for w in widthlist: |
||||
|
if rnd: np.random.shuffle(heightlist) |
||||
|
for h in heightlist: |
||||
|
color = '#%02x%02x%02x' % pixels[h-starth][w-startw] |
||||
|
to_send = "px {} {} {}\n".format(w,h,color) |
||||
|
sock.sendall(bytes(to_send, "utf-8")) |
||||
|
sock.close() |
||||
|
print("finished") |
After Width: | Height: | Size: 57 KiB |