INNER CODE UNIT · Python
background
utopia-rise/godot-jvm · logo/export.py:197
def background(accent_x, accent_y, accent_radius=640):
top, bottom = (18, 14, 48), (8, 6, 24)
bg = Image.new('RGB', (CANVAS_W, CANVAS_H))
draw = ImageDraw.Draw(bg)
for y in range(CANVAS_H):
t = y / CANVAS_H
draw.line((0, y, CANVAS_W, y), fill=tuple(int(top[i] * (1 - t) + bottom[i] * t) for i in range(3)))
bg = bg.convert('RGBA')
# indigo-blue glow behind the mascot
glow = Image.new('RGBA', (CANVAS_W, CANVAS_H), (0, 0, 0, 0))
draw = ImageDraw.Draw(glow)
r = accent_radius
draw.ellipse((accent_x - r, accent_y - r, accent_x + r, accent_y + r), fill=(70, 55, 210, 255))
draw.ellipse((accent_x - r * 0.5, accent_y - r * 0.1, accent_x + r * 0.8, accent_y + r), fill=(0, 110, 200, 190))
glow = glow.filter(ImageFilter.GaussianBlur(240))
glow.putalpha(glow.getchannel('A').point([a // 2 for a in range(256)]))
bg.alpha_composite(glow)