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()