import os
from PIL import Image, ImageDraw, ImageFont

def create_icon(name, color, text_symbol, filename):
    size = (81, 81)
    img = Image.new('RGBA', size, (255, 255, 255, 0))
    draw = ImageDraw.Draw(img)
    
    # Draw a simple shape or text
    # Since we don't have a guaranteed font, we'll draw shapes
    
    # Center
    cx, cy = size[0] // 2, size[1] // 2
    r = 30
    
    if 'home' in name:
        # Draw a house
        points = [(cx, cy-r), (cx-r, cy), (cx+r, cy)]
        draw.polygon(points, fill=color)
        draw.rectangle([cx-r+10, cy, cx+r-10, cy+r], fill=color)
    elif 'order' in name:
        # Draw a document
        draw.rectangle([cx-20, cy-30, cx+20, cy+30], fill=color)
        # Lines
        draw.line([cx-10, cy-10, cx+10, cy-10], fill=(255,255,255,255), width=3)
        draw.line([cx-10, cy+10, cx+10, cy+10], fill=(255,255,255,255), width=3)
    elif 'mine' in name:
        # Draw a person
        draw.ellipse([cx-15, cy-35, cx+15, cy-5], fill=color)
        draw.pieslice([cx-30, cy, cx+30, cy+60], 180, 360, fill=color)
        
    img.save(filename)
    print(f"Generated {filename}")

def main():
    base_dir = r"C:\Users\admin\Desktop\宠物需求\宠物管理系统\performer_app\static\tabbar"
    if not os.path.exists(base_dir):
        os.makedirs(base_dir)
        
    gray = (153, 153, 153, 255) # #999999
    orange = (255, 87, 34, 255) # #FF5722
    
    create_icon("home", gray, "H", os.path.join(base_dir, "home.png"))
    create_icon("home-active", orange, "H", os.path.join(base_dir, "home-active.png"))
    
    create_icon("order", gray, "O", os.path.join(base_dir, "order.png"))
    create_icon("order-active", orange, "O", os.path.join(base_dir, "order-active.png"))
    
    create_icon("mine", gray, "M", os.path.join(base_dir, "mine.png"))
    create_icon("mine-active", orange, "M", os.path.join(base_dir, "mine-active.png"))

if __name__ == "__main__":
    main()
