diff options
| author | davidovski <david@davidovski.xyz> | 2023-06-13 00:12:02 +0100 | 
|---|---|---|
| committer | davidovski <david@davidovski.xyz> | 2023-06-13 00:12:02 +0100 | 
| commit | 045ab662bb15d9a13d4d58ef609f643b9ae0889d (patch) | |
| tree | ecf6a75bb9c9aa530bf5e7cca909c9b8894fd690 /images | |
| parent | 7acbb084388e3b7d13f37b65e0b5cf2756d6cf26 (diff) | |
use shblg to generate a static site from this repo
Diffstat (limited to 'images')
| -rwxr-xr-x | images/bg.gif | 2 | ||||
| -rwxr-xr-x | images/gif.py | 70 | ||||
| -rwxr-xr-x | images/remotecontrol.gif | 2 | 
3 files changed, 74 insertions, 0 deletions
diff --git a/images/bg.gif b/images/bg.gif new file mode 100755 index 0000000..044324f --- /dev/null +++ b/images/bg.gif @@ -0,0 +1,2 @@ +#!/bin/sh +./gif.py diff --git a/images/gif.py b/images/gif.py new file mode 100755 index 0000000..26e8408 --- /dev/null +++ b/images/gif.py @@ -0,0 +1,70 @@ +#!/usr/bin/env python +import glob +import sys +import os +import math +import random +from PIL import Image + + +def color(hex_value): +    h = hex_value.lstrip('#') +    while len(h) < 8: +        h += "f"  +    return tuple(int(h[i:i+2], 16) for i in (0, 2, 4, 6)) + +def rgb_to_v(c): +    r, g, b = c[0]/255.0, c[1]/255.0, c[2]/255.0 +    mx = max(r, g, b) +    v = mx*100 +    return v + +replace = color("#f58f44") +colors = [ +        color("#191919"), +        color("#373b41"), +        ] + +def make(colors, inp=None): +    p = len(colors) +    w = int(128 / p) * p +    h = int(128 / p) * p + +    frames = [] + +    for i in range(int(p*1*math.pi)): +        if inp is None: +            image = Image.new("RGBA", (w, h), colors[0]) +        else: +            image = Image.open(inp).convert("RGBA") + +        for x in range(image.width): +            for y in range(image.height): +                f = 2 +                r = random.randint(-f, f) +                z = (i) - (y/(p/4)) + r +                v = math.floor( (math.sin(z) + 1) * len(colors) * 0.5) +                c = colors[v] +                if inp is not None: +                    existing = image.getpixel((x, y))  +                    if existing[:3] == replace[:3]: +                        image.putpixel((x,y), c) +                else: +                    image.putpixel((x,y), c) + +        frames.append(image.convert("P")) + + +    frames[0].save(sys.stdout, mode="P", format="GIF", append_images=frames[1:], save_all=True, duration=100, loop=0) + + +template = None +if len(sys.argv) > 1 and os.path.exists(sys.argv[1]): +    template = sys.argv[1] +    colors = colors + [ color("#f58f44") ] + +sorted(colors, key=rgb_to_v) +make(colors, inp=template) +#make("dist/images/remotecontrol.gif", colors2, inp="images/remotecontrol-small.png") + + diff --git a/images/remotecontrol.gif b/images/remotecontrol.gif new file mode 100755 index 0000000..5e73b92 --- /dev/null +++ b/images/remotecontrol.gif @@ -0,0 +1,2 @@ +#!/bin/sh +./gif.py remotecontrol-small.png  | 
