gif — gif kaydı

gif modülü gif kaydı için kullanılır.

class Gif – Gif kaydedici

Küçük video klipleri kaydetmek için gif modülünü kullanabilirsiniz. gif dosyalarının sıkıştırılmamış görüntü verisi kaydettiğini unutmayın. Bu nedenle, paylaşmak istediğiniz kısa video klipleri kaydetmek için en uygun olanlardır. Uzun klipler için mjpeg kullanın.

Örnek kullanım:

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)

Çerçevelerin eklenebileceği bir Gif nesnesi oluşturur. filename, gif kaydının kaydedileceği yoldur.

width varsayılan olarak ana çerçeve arabelleğinin (framebuffer) yatay çözünürlüğüdür.

height varsayılan olarak ana çerçeve arabelleğinin (framebuffer) dikey çözünürlüğüdür.

color varsayılan olarak ana çerçeve arabelleğinin (framebuffer) renk modudur:

  • False, piksel başına 7 bitlik bir sensor.GRAYSCALE gif ile sonuçlanır.

  • True, piksel başına 7 bitlik bir sensor.RGB565 gif ile sonuçlanır.

loop True olduğunda gif’in oynatma sırasında otomatik olarak döngüye girmesiyle sonuçlanır.

width() int

gif’in genişliğini (yatay çözünürlük) döndürür.

height() int

gif’in yüksekliğini (dikey çözünürlük) döndürür.

format() int

color True ise sensor.RGB565, aksi takdirde sensor.GRAYSCALE döndürür.

size() int

gif’in şimdiye kadarki dosya boyutunu döndürür. Bu değer çerçeveler eklendikten sonra güncellenir.

loop() bool

gif nesnesinin loop etkin olarak oluşturulup oluşturulmadığını döndürür.

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

gif kaydına bir görüntü ekler. Görüntü genişliği, yüksekliği ve renk modu, yapıcıda kullanılan değerlerle eşleşmelidir.

delay, bu çerçeveyi önceki çerçeveden sonra görüntülemeden önce beklenecek santisaniye sayısıdır.

close() None

gif kaydını sonlandırır. Dosyanın görüntülenebilir olması için kayıt tamamlandığında bu yöntem bir kez çağrılmalıdır.