From 5f6f471bd3d4970ae0e247935d7ffecd49238248 Mon Sep 17 00:00:00 2001 From: Raphael Roberts Date: Mon, 21 Oct 2019 00:15:44 -0500 Subject: [PATCH] Started on make_wallpaper function. Generalize and add a stepper function --- .gitignore | 1 + prim_wallpaper/make_wallpaper.py | 15 +++++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 prim_wallpaper/make_wallpaper.py diff --git a/.gitignore b/.gitignore index 482f8e8..ff0c96f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ .dir-locals.el __pycache__ +*.png diff --git a/prim_wallpaper/make_wallpaper.py b/prim_wallpaper/make_wallpaper.py new file mode 100644 index 0000000..78e57d7 --- /dev/null +++ b/prim_wallpaper/make_wallpaper.py @@ -0,0 +1,15 @@ +import itertools + +from PIL import Image + + +def make_wallpaper(a, b, c): + out = Image.new("RGB", (1 << 12, 1 << 12)) + prim_a = (pow(a, 257, i) - 1 for i in range(1, 256 + 1)) + prim_b = (pow(b, 257, i) - 1 for i in range(1, 256 + 1)) + prim_c = (pow(c, 257, i) - 1 for i in range(1, 256 + 1)) + rgb_values = itertools.product(prim_a, prim_b, prim_c) + for i, rgb in enumerate(rgb_values): + y, x = divmod(i, 1 << 12) + out.putpixel((x, y), rgb) + return out