gopuOS / gopu_badge.pu
Mauricio-100's picture
Rename gopu_badge.png to gopu_badge.pu
82adf84 verified
# make_gopu_badge.py
from PIL import Image, ImageDraw, ImageFont
import math
W, H = 1200, 400
BG = (8, 10, 12) # deep near-black
ACCENT = (24, 190, 88) # Gopu green
ACCENT_2 = (120, 255, 190)
TEXT = (230, 235, 240) # soft white
GRID = (20, 28, 32)
TITLE = "GopuOS"
SUB = "Agent 2K FDF"
TAG = "Exclusive • Introspectable • Modular"
img = Image.new("RGB", (W, H), BG)
draw = ImageDraw.Draw(img)
# Load fonts (fallback to default if not found)
def load_font(name, size):
try:
return ImageFont.truetype(name, size)
except:
return ImageFont.load_default()
font_title = load_font("DejaVuSans-Bold.ttf", 120)
font_sub = load_font("DejaVuSans.ttf", 56)
font_tag = load_font("DejaVuSans.ttf", 36)
font_mono = load_font("DejaVuSansMono.ttf", 28)
# Subtle grid background
for y in range(0, H, 20):
draw.line([(0, y), (W, y)], fill=GRID, width=1)
for x in range(0, W, 20):
draw.line([(x, 0), (x, H)], fill=GRID, width=1)
# Accent diagonal bars
for i in range(0, 60):
y = int(H * 0.15 + i * 2)
x0 = int(W * 0.55 - i * 8)
x1 = W
col = (
int(ACCENT[0] + (ACCENT_2[0] - ACCENT[0]) * (i / 60)),
int(ACCENT[1] + (ACCENT_2[1] - ACCENT[1]) * (i / 60)),
int(ACCENT[2] + (ACCENT_2[2] - ACCENT[2]) * (i / 60)),
)
draw.rectangle([x0, y, x1, y + 3], fill=col)
# Badge ring
cx, cy, r = 140, 200, 90
for t in range(0, 360, 2):
a = math.radians(t)
x = cx + int(r * math.cos(a))
y = cy + int(r * math.sin(a))
draw.ellipse([x - 3, y - 3, x + 3, y + 3], fill=ACCENT)
# Inner icon: stylized neuron-kernel
draw.ellipse([cx - 36, cy - 36, cx + 36, cy + 36], outline=ACCENT, width=4)
for i, ang in enumerate([0, 72, 144, 216, 288]):
a = math.radians(ang)
x = cx + int(44 * math.cos(a))
y = cy + int(44 * math.sin(a))
draw.line([cx, cy, x, y], fill=ACCENT, width=4)
draw.ellipse([x - 6, y - 6, x + 6, y + 6], fill=ACCENT)
# Title and subtitle
draw.text((240, 120), TITLE, font=font_title, fill=TEXT)
draw.text((248, 240), SUB, font=font_sub, fill=ACCENT)
# Tag line
draw.text((248, 300), TAG, font=font_tag, fill=(180, 190, 196))
# Signature stripe
draw.rectangle([0, H - 18, W, H], fill=(14, 18, 22))
draw.text((18, H - 32), "🧠 GopuOS — Live, Modular, Agentic", font=font_mono, fill=(150, 160, 168))
img.save("gopu_badge.png", format="PNG", optimize=True)
print("Saved gopu_badge.png")