from PIL import Image, ImageDraw, ImageFont | |
def captioned_strip(images, caption=None, rows=1): | |
increased_h = 0 if caption is None else 48 | |
w, h = images[0].size[0], images[0].size[1] | |
img = Image.new("RGB", (len(images)*w//rows, h*rows + increased_h)) | |
for i, img_ in enumerate(images): | |
img.paste(img_, (i//rows*w, increased_h + (i % rows) * h)) | |
if caption is not None: | |
draw = ImageDraw.Draw(img) | |
font = ImageFont.truetype("/usr/share/fonts/truetype/liberation2/LiberationMono-Bold.ttf", 40) | |
draw.text((20, 3), caption, (255,255,255), font=font) | |
return img | |