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 | 1cdffa967eea30a7947fea23e665fc1e68ffbf58 (patch) | |
tree | ecf6a75bb9c9aa530bf5e7cca909c9b8894fd690 /gif.py | |
parent | 40a6aabbdb721da1e0b3f0274a1689cccbb3415f (diff) |
use shblg to generate a static site from this repo
Diffstat (limited to 'gif.py')
-rw-r--r-- | gif.py | 66 |
1 files changed, 0 insertions, 66 deletions
@@ -1,66 +0,0 @@ -import glob -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"), - ] -colors2 = colors + [ - color("#f58f44") -] - -sorted(colors, key=rgb_to_v) -sorted(colors2, key=rgb_to_v) - -def make(filename, 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(filename, mode="P", format="GIF", append_images=frames[1:], save_all=True, duration=100, loop=0) - -make("dist/images/bg.gif", colors) -make("dist/images/remotecontrol.gif", colors2, inp="images/remotecontrol-small.png") - - |