| """Generate sample toy photos for the Gradio Examples rail (one-click demos |
| for judges/users without a toy at hand). Simple flat illustrations in the |
| brand palette, 640×640 PNG.""" |
|
|
| from pathlib import Path |
|
|
| from PIL import Image, ImageDraw |
|
|
| OUT = Path(__file__).resolve().parent.parent / "static" / "samples" |
| OUT.mkdir(parents=True, exist_ok=True) |
|
|
| BG = (232, 217, 196) |
| INK = (58, 44, 34) |
|
|
|
|
| def canvas(): |
| img = Image.new("RGB", (640, 640), BG) |
| return img, ImageDraw.Draw(img) |
|
|
|
|
| |
| img, d = canvas() |
| fur = (181, 128, 63) |
| d.ellipse((230, 150, 410, 330), fill=fur) |
| d.ellipse((212, 132, 288, 208), fill=fur) |
| d.ellipse((352, 132, 428, 208), fill=fur) |
| d.ellipse((210, 300, 430, 560), fill=fur) |
| d.ellipse((281, 221, 299, 239), fill=INK) |
| d.ellipse((341, 221, 359, 239), fill=INK) |
| d.ellipse((309, 259, 331, 281), fill=INK) |
| img.save(OUT / "plush-bear.png") |
|
|
| |
| img, d = canvas() |
| body = (122, 138, 160) |
| d.rounded_rectangle((220, 200, 420, 400), 24, fill=body) |
| d.rounded_rectangle((255, 110, 385, 215), 18, fill=body) |
| d.ellipse((285, 140, 305, 160), fill=INK) |
| d.ellipse((335, 140, 355, 160), fill=INK) |
| d.rectangle((300, 178, 340, 186), fill=INK) |
| d.rectangle((170, 230, 215, 360), fill=body) |
| d.rectangle((425, 230, 470, 360), fill=body) |
| d.rectangle((255, 405, 300, 520), fill=body) |
| d.rectangle((340, 405, 385, 520), fill=body) |
| d.line((318, 110, 318, 70), fill=INK, width=6) |
| d.ellipse((308, 50, 330, 72), fill=(216, 84, 47)) |
| img.save(OUT / "toy-robot.png") |
|
|
| |
| img, d = canvas() |
| cols = [(216, 84, 47), (43, 179, 156), (232, 181, 74)] |
| d.rounded_rectangle((170, 360, 320, 510), 12, fill=cols[0]) |
| d.rounded_rectangle((330, 360, 480, 510), 12, fill=cols[1]) |
| d.rounded_rectangle((250, 200, 400, 350), 12, fill=cols[2]) |
| for x0, y0 in [(195, 385), (355, 385), (275, 225)]: |
| d.ellipse((x0 + 35, y0 + 35, x0 + 65, y0 + 65), outline=INK, width=5) |
| img.save(OUT / "building-blocks.png") |
|
|
| print("3 samples →", OUT) |
|
|