commit 1e9647f781ae57682d511ac2abe8163438510422 Author: Maya Herrscher Date: Tue Oct 10 11:27:22 2023 +0200 initial commit diff --git a/__pycache__/cat.cpython-39.pyc b/__pycache__/cat.cpython-39.pyc new file mode 100644 index 0000000..34c7db4 Binary files /dev/null and b/__pycache__/cat.cpython-39.pyc differ diff --git a/cat.py b/cat.py new file mode 100755 index 0000000..63e448b --- /dev/null +++ b/cat.py @@ -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) diff --git a/dog.jpg b/dog.jpg new file mode 100644 index 0000000..b8b9ac8 Binary files /dev/null and b/dog.jpg differ diff --git a/ena-akito.jpg b/ena-akito.jpg new file mode 100644 index 0000000..c2370da Binary files /dev/null and b/ena-akito.jpg differ diff --git a/ena.jpg b/ena.jpg new file mode 100644 index 0000000..b1fe5c2 Binary files /dev/null and b/ena.jpg differ diff --git a/ewe-jona.jpeg b/ewe-jona.jpeg new file mode 100644 index 0000000..1c24f6e Binary files /dev/null and b/ewe-jona.jpeg differ diff --git a/ina.jpeg b/ina.jpeg new file mode 100644 index 0000000..284c4b1 Binary files /dev/null and b/ina.jpeg differ diff --git a/ina.png b/ina.png new file mode 100644 index 0000000..0eb5079 Binary files /dev/null and b/ina.png differ diff --git a/jonas.jpeg b/jonas.jpeg new file mode 100644 index 0000000..bf7f7fe Binary files /dev/null and b/jonas.jpeg differ diff --git a/niffler.jpg b/niffler.jpg new file mode 100644 index 0000000..bbd54b1 Binary files /dev/null and b/niffler.jpg differ diff --git a/pixelflut.py b/pixelflut.py new file mode 100755 index 0000000..114e80a --- /dev/null +++ b/pixelflut.py @@ -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") diff --git a/walid.jpg b/walid.jpg new file mode 100644 index 0000000..1c95d6d Binary files /dev/null and b/walid.jpg differ