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-Aufzeichnung ein Bild hinzu. Breite, Höhe und Farbmodus des Bildes müssen mit den im Konstruktor verwendeten Werten übereinstimmen. Es werden nur
image.GRAYSCALE- undimage.RGB565-Bilder akzeptiert; konvertieren Sie Bayer- oder YUV-Einzelbilder zuerst (oder setzen Sie das Pixelformat der Kamera auf RGB565).delayist die Anzahl der Hundertstelsekunden, die vor der Anzeige dieses Einzelbilds nach dem vorherigen Einzelbild gewartet wird.