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

若 color 為 True,則傳回 sensor.RGB565,否則傳回 sensor.GRAYSCALE

size() int

傳回目前為止 gif 的檔案大小。此值會在加入影格後更新。

loop() bool

傳回 gif 物件建構時是否啟用了 loop

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

將一張影像加入 gif 錄製中。影像的寬度、高度與色彩模式必須與建構函式中使用的值相符。

delay 是在前一影格之後、顯示此影格之前要等待的百分之一秒數。

close() None

完成 gif 錄製。錄製完成後必須呼叫此方法一次,才能讓檔案可供檢視。