gif — GIF 录制

gif 模块用于GIF录制。

class Gif – GIF 录制器

您可以使用gif模块记录小视频片段。请注意,gif文件保存未压缩的图像数据。因此,它们最适合记录想要分享的短视频片段。对于长视频片段,请使用 mjpeg

示例用法:

import sensor, gif

# Setup camera.
sensor.reset()
sensor.set_pixformat(sensor.GRAYSCALE)
sensor.set_framesize(sensor.QQVGA)
sensor.skip_frames()

# Create the gif object.
g = gif.Gif("example.gif")

# Add frames.
for i in range(100):
    g.add_frame(sensor.snapshot())

# Finalize.
g.close()

构造函数

class gif.Gif(filename[, width[, height[, color[, loop=True]]]])

创建一个可以向其中添加帧的 Gif 对象。filename 是保存 gif 录制的路径。

width 被自动设置为图像传感器的水平分辨率,除非明确覆盖。

height 被自动设置为图像传感器的垂直分辨率,除非明确覆盖。

color 被自动设置为图像传感器的颜色模式,除非明确覆盖:

  • False 表示颜色为灰度,产生每像素 7 位的 sensor.GRAYSCALE gif。

  • True 表示颜色为彩色,产生每像素7位的 sensor.RGB565 gif。

loop 为 True 时,导致 gif 在播放时自动循环。

方法

width()

返回 gif 对象的宽度(水平分辨率)。

height()

返回 gif 对象的高度(垂直分辨率)。

format()

如果颜色为 True,则返回 sensor.RGB565,否则返回 sensor.GRAYSCALE

size()

返回到目前为止gif的文件大小。此值在添加帧后更新。

loop()

如果gif对象在其构造函数中设置了循环则返回。

add_frame(image[, delay=10])

将图像添加到gif录制中。图像的宽度、高度和颜色模式必须与构造gif时使用的宽度、高度和颜色模式相同。

delay 是在上一帧(如果不是第一帧)后显示此帧之前等待的以厘秒为单位的时间。

close()

完成gif录制。完成录制后必须调用此方法才能查看文件。