bird.py

1.1 kB · python · 48 lines

1# /// script2# requires-python = ">=3.11"3# dependencies = ["pillow"]4# ///56import os7from PIL import Image89DIR = os.path.dirname(os.path.abspath(__file__))10SOURCE = os.path.join(DIR, "files", "TheBird-Official.png")11FILES_DIR = os.path.join(DIR, "files")1213LOGO = (1000, 1000)14WALL = (1920, 1080)15TILES = (16, 9)1617# HELPERS1819def resize(image, size):20    return image.resize(size, resample=Image.Resampling.LANCZOS)2122def tile(image, columns, rows):23    width, height = image.size24    canvas = Image.new("RGBA", (width * columns, height * rows))25    for y in range(rows):26        for x in range(columns):27            canvas.paste(image, (x * width, y * height))28    return canvas2930def save(image, name):31    fp = os.path.join(FILES_DIR, name)32    image.save(fp)33    print(f"Saved: {fp}")3435# LOGO3637def logo():38    image = Image.open(SOURCE).convert("RGBA")39    save(resize(image, LOGO), "carlomitchener.png")40    columns, rows = TILES41    unit = resize(image, (WALL[0] // columns, WALL[1] // rows))42    save(tile(unit, columns, rows).convert("RGB"), "carlomitchener.jpg")4344def main():45    logo()4647if __name__ == "__main__":48    main()