import time from PIL import Image, ImageDraw, ImageFont def testScreen( x=1280, y=720, image=None, stripeList=["lightgrey", "yellow", "cyan", "lightgreen", "magenta", "red", "blue"]): if image is None: image = Image.new("RGB", (x, y)) draw = ImageDraw.Draw(image) for i, stripe in enumerate(stripeList): draw.rectangle(( (x/len(stripeList)) * i, 0, (x/len(stripeList)) * (i + 1), x), fill=stripe) draw.rectangle(( 0, y - (y/3), x, y), fill="black") for i, stripe in enumerate(stripeList): if i % 2 != 0: _fill = "black" else: _fill = stripeList[len(stripeList) - i - 1] draw.rectangle(( (x/len(stripeList)) * i, y - (y/3.1), (x/len(stripeList)) * (i + 1), y - (y/4.9)), fill=_fill) draw.rectangle(( (x/(len(stripeList)/4)), y - (y/5.3), (0), y), fill="darkblue") draw.rectangle(( (x/(len(stripeList)/2)), y - (y/5.3), (x/(len(stripeList)/1)), y), fill="white") return image def drawText(image): # get a font fnt = ImageFont.truetype("FreeMono.ttf", 50) # get a drawing context d = ImageDraw.Draw(image) # draw multiline text d.multiline_text((10, 10), str(time.time()), font=fnt, fill=(0, 0, 0)) return image if __name__ == '__main__': blank_screen = testScreen() while True: annotated_image = drawText(blank_screen.copy()) annotated_image.save('Test-Pattern.png') time.sleep(2) # testScreen().save('Test-Pattern.png')