import math from PIL import Image, ImageDraw def draw_car_large(draw, color): # Center: (765, 205) # Scaled up by 1.25x for better visual weight # 1. Cabin (upper part) # Trapezoid: top base from X=740 to 790, bottom base from X=721 to 809, Y=155 to 198 draw.polygon([(740, 155), (790, 155), (809, 198), (721, 198)], fill=color) # Windshield (white trapezoid inside cabin) draw.polygon([(743, 161), (787, 161), (802, 194), (728, 194)], fill=(255, 255, 255, 255)) # Vertical divider in windshield draw.rectangle([763, 161, 767, 194], fill=color) # 2. Main body (lower part) # Polygon with cut corners: X=703 to 827, Y=195 to 255 draw.polygon([ (712, 195), (818, 195), (827, 204), (827, 246), (818, 255), (712, 255), (703, 246), (703, 204) ], fill=color) # 3. Headlights (white circles) r_head = 9 draw.ellipse([722 - r_head, 222 - r_head, 722 + r_head, 222 + r_head], fill=(255, 255, 255, 255)) draw.ellipse([808 - r_head, 222 - r_head, 808 + r_head, 222 + r_head], fill=(255, 255, 255, 255)) # 4. Grille / Bumper # Center grill: white rectangle from X=740 to 790, Y=222 to 232 draw.rectangle([740, 222, 790, 232], fill=(255, 255, 255, 255)) # 5. Side mirrors # Left mirror: polygon at X=694 to 703, Y=190 to 202 draw.polygon([(694, 190), (703, 195), (703, 203), (694, 198)], fill=color) # Right mirror: polygon at X=827 to 836, Y=190 to 202 draw.polygon([(836, 190), (827, 195), (827, 203), (836, 198)], fill=color) im = Image.open('scratch/logo_s_only.png') draw = ImageDraw.Draw(im) color = (29, 32, 47, 255) draw_car_large(draw, color) im.save('scratch/service_logo_test_car_large.png') print("Saved large service logo to scratch/service_logo_test_car_large.png")