gif — GIF-Aufnahme

Das Modul gif wird für die GIF-Aufnahme verwendet.

class Gif – GIF-Recorder

Sie können das gif-Modul verwenden, um kurze Videoclips aufzunehmen. Beachten Sie, dass GIF-Dateien unkomprimierte Bilddaten speichern. Sie eignen sich daher am besten für die Aufnahme kurzer Videoclips, die Sie teilen möchten. Verwenden Sie mjpeg für lange Clips.

Anwendungsbeispiel:

import csi
import gif
import time

# Setup camera.
csi0 = csi.CSI()
csi0.reset()
csi0.pixformat(csi.GRAYSCALE)
csi0.framesize(csi.QQVGA)
csi0.snapshot(time=2000)

# Create the gif object.
g = gif.Gif("example.gif")

# Record for 4 seconds.
start = time.ticks_ms()
while time.ticks_diff(time.ticks_ms(), start) < 4000:
    g.add_frame(csi0.snapshot())

# Finalize.
g.close()
class gif.Gif(filename: str, width: int | None = None, height: int | None = None, color: bool | None = None, loop: bool = True)

Erstellt ein Gif-Objekt, dem Einzelbilder hinzugefügt werden können. filename ist der Pfad, unter dem die GIF-Aufnahme gespeichert wird.

width ist standardmäßig die horizontale Auflösung des Haupt-Framebuffers.

height ist standardmäßig die vertikale Auflösung des Haupt-Framebuffers.

color ist standardmäßig der Farbmodus des Haupt-Framebuffers:

loop bewirkt bei True, dass das GIF bei der Wiedergabe automatisch in einer Schleife läuft.

width() int

Gibt die Breite (horizontale Auflösung) des GIFs zurück.

height() int

Gibt die Höhe (vertikale Auflösung) des GIFs zurück.

format() int

Gibt sensor.RGB565 zurück, wenn color True ist, andernfalls sensor.GRAYSCALE.

size() int

Gibt die bisherige Dateigröße des GIFs zurück. Dieser Wert wird nach dem Hinzufügen von Einzelbildern aktualisiert.

loop() bool

Gibt zurück, ob das Gif-Objekt mit aktiviertem loop konstruiert wurde.

add_frame(image: image.Image, delay: int = 10) None

Fügt der GIF-Aufnahme ein Bild hinzu. Breite, Höhe und Farbmodus des Bilds müssen mit den im Konstruktor verwendeten Werten übereinstimmen.

delay ist die Anzahl der Hundertstelsekunden, die vor der Anzeige dieses Einzelbilds nach dem vorherigen Einzelbild gewartet wird.

close() None

Schließt die GIF-Aufnahme ab. Diese Methode muss nach Abschluss der Aufnahme einmal aufgerufen werden, damit die Datei anzeigbar wird.