gif — nagrywanie gif¶
Moduł gif służy do nagrywania plików gif.
class Gif – Rejestrator Gif¶
Możesz użyć modułu gif do nagrywania krótkich klipów wideo. Należy pamiętać, że pliki gif zapisują nieskompresowane dane obrazu. Dlatego najlepiej nadają się do nagrywania krótkich klipów wideo, które chcesz udostępnić. Do długich klipów użyj mjpeg.
Przykład użycia:
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)¶
Tworzy obiekt Gif, do którego można dodawać ramki.
filenameto ścieżka, pod którą zostanie zapisane nagranie gif.widthdomyślnie przyjmuje poziomą rozdzielczość głównego bufora ramki.heightdomyślnie przyjmuje pionową rozdzielczość głównego bufora ramki.colordomyślnie przyjmuje tryb koloru głównego bufora ramki:False skutkuje plikiem gif
sensor.GRAYSCALEo 7 bitach na piksel.True skutkuje plikiem gif
sensor.RGB565o 7 bitach na piksel.
loopgdy True, powoduje automatyczne zapętlanie gif podczas odtwarzania.- format() int¶
Zwraca
sensor.RGB565, jeśli color jest True, w przeciwnym raziesensor.GRAYSCALE.
- add_frame(image: image.Image, delay: int = 10) None¶
Dodaje obraz do nagrania gif. Szerokość, wysokość i tryb koloru obrazu muszą odpowiadać wartościom użytym w konstruktorze.
delayto liczba setnych sekundy oczekiwania przed wyświetleniem tej ramki po poprzedniej ramce.