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.
filenameist der Pfad, unter dem die GIF-Aufnahme gespeichert wird.widthist standardmäßig die horizontale Auflösung des Haupt-Framebuffers.heightist standardmäßig die vertikale Auflösung des Haupt-Framebuffers.colorist standardmäßig der Farbmodus des Haupt-Framebuffers:False ergibt ein
sensor.GRAYSCALE-GIF mit 7 Bit pro Pixel.True ergibt ein
sensor.RGB565-GIF mit 7 Bit pro Pixel.
loopbewirkt bei True, dass das GIF bei der Wiedergabe automatisch in einer Schleife läuft.- format() int¶
Gibt
sensor.RGB565zurück, wenn color True ist, andernfallssensor.GRAYSCALE.
- size() int¶
Gibt die bisherige Dateigröße des GIFs zurück. Dieser Wert wird nach dem Hinzufügen von Einzelbildern aktualisiert.
- 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.
delayist die Anzahl der Hundertstelsekunden, die vor der Anzeige dieses Einzelbilds nach dem vorherigen Einzelbild gewartet wird.