gif — gif-opname#

De gif-module wordt gebruikt voor gif-opname.

class Gif – Gif-recorder#

Je kunt de gif-module gebruiken om korte videoclips op te nemen. Let op dat gif-bestanden ongecomprimeerde beelddata opslaan. Ze zijn daarom het meest geschikt voor het opnemen van korte videoclips die je wilt delen. Gebruik mjpeg voor lange clips.

Voorbeeldgebruik:

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)#

Maakt een Gif-object aan waaraan frames kunnen worden toegevoegd. filename is het pad waar de gif-opname naartoe wordt opgeslagen.

width is standaard de horizontale resolutie van de hoofd-framebuffer.

height is standaard de verticale resolutie van de hoofd-framebuffer.

color is standaard de kleurmodus van de hoofd-framebuffer:

loop indien True resulteert erin dat de gif automatisch herhaalt bij afspelen.

width() → int#

Retourneert de breedte (horizontale resolutie) van de gif.

height() → int#

Retourneert de hoogte (verticale resolutie) van de gif.

format() → int#

Retourneert sensor.RGB565 als color True is, anders sensor.GRAYSCALE.

size() → int#

Retourneert de bestandsgrootte van de gif tot nu toe. Deze waarde wordt bijgewerkt na het toevoegen van frames.

loop() → bool#

Retourneert of het gif-object is geconstrueerd met loop ingeschakeld.

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

Voegt een afbeelding toe aan de gif-opname. De breedte, hoogte en kleurmodus van de afbeelding moeten overeenkomen met de waarden die in de constructor zijn gebruikt. Alleen image.GRAYSCALE- en image.RGB565-afbeeldingen worden geaccepteerd; converteer Bayer- of YUV-frames eerst (of stel het pixformat van de camera in op RGB565).

delay is het aantal centiseconden om te wachten voordat dit frame na het vorige frame wordt weergegeven.

close() → None#

Rondt de gif-opname af. Deze methode moet worden aangeroepen zodra de opname compleet is om het bestand bekijkbaar te maken.