gif — gravação gif

O módulo gif é utilizado para gravação gif.

classe Gif – Gravador de Gif

Pode usar o módulo gif para gravar pequenos clips de vídeo. Note que os ficheiros gif guardam dados de imagem não comprimidos. Por isso, são mais adequados para gravar clips curtos que pretenda partilhar. Use mjpeg para clips longos.

Exemplo de utilização:

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)

Cria um objeto Gif ao qual podem ser adicionados fotogramas. filename é o caminho para guardar a gravação gif.

width tem como valor por omissão a resolução horizontal do framebuffer principal.

height tem como valor por omissão a resolução vertical do framebuffer principal.

color tem como valor por omissão o modo de cor do framebuffer principal:

loop quando True faz com que o gif seja reproduzido em ciclo automático.

width() int

Devolve a largura (resolução horizontal) do gif.

height() int

Devolve a altura (resolução vertical) do gif.

format() int

Devolve sensor.RGB565 se color for True, ou sensor.GRAYSCALE caso contrário.

size() int

Devolve o tamanho do ficheiro gif até ao momento. Este valor é atualizado após a adição de fotogramas.

loop() bool

Devolve se o objeto gif foi construído com loop ativado.

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

Adiciona uma imagem à gravação gif. A largura, altura e modo de cor da imagem devem corresponder aos valores usados no construtor.

delay é o número de centissegundos a aguardar antes de apresentar este fotograma após o fotograma anterior.

close() None

Finaliza a gravação gif. Este método deve ser chamado uma vez concluída a gravação para tornar o ficheiro visualizável.