gif — הקלטת gif

המודול gif משמש להקלטת gif.

class Gif – מקליט Gif

ניתן להשתמש במודול gif כדי להקליט קטעי וידאו קצרים. שימו לב שקובצי gif שומרים נתוני תמונה לא דחוסים. לכן, הם מתאימים ביותר להקלטת קטעי וידאו קצרים שברצונכם לשתף. השתמשו ב-mjpeg עבור קטעים ארוכים.

דוגמת שימוש:

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)

יוצר אובייקט Gif שניתן להוסיף אליו פריימים. filename הוא הנתיב לשמירת הקלטת ה-gif.

width כברירת מחדל הוא הרזולוציה האופקית של חוצץ הפריימים הראשי.

height כברירת מחדל הוא הרזולוציה האנכית של חוצץ הפריימים הראשי.

color כברירת מחדל הוא מצב הצבע של חוצץ הפריימים הראשי:

loop כאשר True גורם לכך שה-gif יחזור על עצמו אוטומטית בעת הניגון.

width() int

מחזיר את הרוחב (רזולוציה אופקית) של ה-gif.

height() int

מחזיר את הגובה (רזולוציה אנכית) של ה-gif.

format() int

מחזיר sensor.RGB565 אם הצבע הוא True, אחרת sensor.GRAYSCALE.

size() int

מחזיר את גודל הקובץ של ה-gif עד כה. ערך זה מתעדכן לאחר הוספת פריימים.

loop() bool

מחזיר האם אובייקט ה-gif נבנה עם loop מופעל.

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

מוסיף תמונה להקלטת ה-gif. רוחב התמונה, גובהה ומצב הצבע שלה חייבים להתאים לערכים שבהם נעשה שימוש בבנאי.

delay הוא מספר המאיות-שנייה להמתנה לפני הצגת פריים זה לאחר הפריים הקודם.

close() None

מסיים את הקלטת ה-gif. יש לקרוא למתודה זו לאחר השלמת ההקלטה כדי שהקובץ יהיה ניתן לצפייה.