gif — gif 녹화#

gif 모듈은 gif 녹화에 사용됩니다.

class 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의 기본값은 메인 프레임버퍼의 색상 모드입니다:

loop이 True이면 재생 시 gif가 자동으로 반복됩니다.

width() int#

gif의 너비(가로 해상도)를 반환합니다.

height() int#

gif의 높이(세로 해상도)를 반환합니다.

format() int#

color가 True이면 sensor.RGB565를, 그렇지 않으면 sensor.GRAYSCALE를 반환합니다.

size() int#

지금까지의 gif 파일 크기를 반환합니다. 이 값은 프레임을 추가한 후 갱신됩니다.

loop() bool#

gif 객체가 loop이 활성화된 상태로 생성되었는지 여부를 반환합니다.

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

gif 녹화에 이미지를 추가합니다. 이미지의 너비, 높이, 색상 모드는 생성자에서 사용한 값과 일치해야 합니다.

delay는 이전 프레임 이후 이 프레임을 표시하기 전에 대기할 시간(센티초)입니다.

close() None#

gif 녹화를 마무리합니다. 파일을 볼 수 있게 하려면 녹화가 완료된 후 이 메서드를 한 번 호출해야 합니다.