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.widthtem como valor por omissão a resolução horizontal do framebuffer principal.heighttem como valor por omissão a resolução vertical do framebuffer principal.colortem como valor por omissão o modo de cor do framebuffer principal:False resulta num gif
sensor.GRAYSCALEde 7 bits por pixel.True resulta num gif
sensor.RGB565de 7 bits por pixel.
loopquando True faz com que o gif seja reproduzido em ciclo automático.- format() int¶
Devolve
sensor.RGB565se color for True, ousensor.GRAYSCALEcaso contrário.
- size() int¶
Devolve o tamanho do ficheiro gif até ao momento. Este valor é atualizado após a adição de fotogramas.
- 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.