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. יש לקרוא למתודה זו לאחר השלמת ההקלטה כדי שהקובץ יהיה ניתן לצפייה.