gif — запис gif

Модуль gif використовується для запису gif-файлів.

клас 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 за замовчуванням відповідає режиму кольору основного кадрового буфера:

  • False — gif у форматі sensor.GRAYSCALE з 7 бітами на піксель.

  • True — gif у форматі sensor.RGB565 з 7 бітами на піксель.

loop якщо True — gif автоматично повторюється при відтворенні.

width() int

Повертає ширину (горизонтальну роздільну здатність) gif.

height() int

Повертає висоту (вертикальну роздільну здатність) gif.

format() int

Повертає sensor.RGB565 якщо color дорівнює True, або sensor.GRAYSCALE в іншому випадку.

size() int

Повертає поточний розмір файлу gif. Це значення оновлюється після додавання кадрів.

loop() bool

Повертає, чи був об’єкт gif створений з увімкненим loop.

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

Додає зображення до gif-запису. Ширина, висота та режим кольору зображення мають відповідати значенням, використаним у конструкторі.

delay — кількість сантисекунд очікування перед відображенням цього кадру після попереднього.

close() None

Завершує gif-запис. Цей метод потрібно викликати після завершення запису, щоб файл можна було переглянути.