#!/usr/bin/env python # -*- coding: utf-8 -*- # Copyright (c) 2017-2020 Richard Hull and contributors # See LICENSE.rst for details. # PYTHON_ARGCOMPLETE_OK """ Displays an animated gif. """ from pathlib import Path from demo_opts import get_device from PIL import Image, ImageSequence from luma.core.sprite_system import framerate_regulator def main(): regulator = framerate_regulator(fps=45) img_path = str(Path(__file__).resolve().parent.joinpath('images', 'cat.gif')) banana = Image.open(img_path) size = [min(*device.size)] * 3 posn = ((device.width - size[0]) // 2, device.height - size[1]) while True: for frame in ImageSequence.Iterator(banana): with regulator: background = Image.new("RGB", device.size, "white") background.paste(frame.resize(size, resample=Image.LANCZOS), posn) device.display(background.convert(device.mode)) if __name__ == "__main__": try: device = get_device() main() except KeyboardInterrupt: pass