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-запис. Цей метод потрібно викликати після завершення запису, щоб файл можна було переглянути.