Python Pillow Bild rund machen?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet
from PIL import Image, ImageOps, ImageDraw

filename = "test.png"

size = (128, 128)  # Größe des Bildes, in der der Kreis passen soll
mask = Image.new("L", size, 0)
draw = ImageDraw.Draw(mask)
draw.ellipse((0, 0) + size, fill=255)

im = Image.open(filename)

if not filename.endswith(".jpg"):  # Input-Bild muss ein jpg sein
    # Konvertieren zum jpg
    new_filename = filename.split(".")[0] + ".jpg"
    rgb_im = im.convert("RGB")
    rgb_im.save(new_filename)

    im = Image.open(new_filename)

output = ImageOps.fit(im, mask.size, centering=(0.5, 0.5))  # Bild zuschneiden auf Kreis
output.putalpha(mask)  # Alphakanal hinzufügen

output.save("output.png")