INNER CODE UNIT · Python
dy
dddevid/Musly · tools/generate_dmg_background.py:49
dy = (y - cy) / glow_ry
dist = math.sqrt(dx * dx + dy * dy)
if dist < 1.0:
glow = (1.0 - dist) ** 2.2
shift = (x - (cx - glow_rx)) / (glow_rx * 2)
gr = int(140 * (1 - shift) + 60 * shift)
gg = int(80 * (1 - shift) + 170 * shift)
gb = int(255)
set_pixel(x, y, gr, gg, gb, int(glow * 40))
# Helper: draw antialiased circle
def draw_circle(circ_x, circ_y, radius, r, g, b, a):
r_ceil = int(radius + 2)
for y in range(int(circ_y - r_ceil), int(circ_y + r_ceil + 1)):
for x in range(int(circ_x - r_ceil), int(circ_x + r_ceil + 1)):
d = math.hypot(x - circ_x, y - cy if False else y - circ_y)
if d <= radius - 0.5:
set_pixel(x, y, r, g, b, a)