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. 创建一个gif对象。
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=Auto, height=Auto, color=Auto, loop=True)¶
- 创建一个可添加帧的Gif对象。 - filename是保存录制的gif的路径。- width自动设置为图像传感器水平分辨率(除非显式覆盖)。- height自动设置为图像传感器垂直分辨率(除非显式覆盖)。- color自动设置为图像传感器颜色模式(除非显式覆盖):- 颜色False将生成一个7位灰度/像素的gif。
- 颜色True将生成一个rgb232、7位/像素的gif。
 - loop当True使gif自动循环播放时。默认值为True。- 注解 - width,- height,- color,- loop是键值参数,必须在函数调用中通过写入
- width=,- height=,- color=和- resolution=来显式地调用。
 
方法¶
- 
gif.width()¶
- 返回gif对象的宽度(水平分辨率)。 
- 
gif.height()¶
- 返回gif对象的高度(垂直分辨率)。 
- 
gif.format()¶
- 如果是彩图返回 - sensor.RGB565, 灰度图返回- sensor.GRAYCSCALE。
- 
gif.size()¶
- 返回gif目前的文件大小。该值在添加帧后更新。 
- 
gif.loop()¶
- 若gif对象在其构造函数中设置了循环,则返回。 
- 
gif.add_frame(image, delay=10)¶
- 将一张图像添加到gif记录中。图像的宽度、高度和颜色模式必须与gif构造函数中使用的宽度、高度和颜色模式相同。 - delay是前一帧结束后等待播放此帧的厘秒数(若非首帧)。- 注解 - delay是键值参数,必须在函数调用中通过写入- delay=来显式地调用。
- 
gif.close()¶
- 结束gif录制。须在记录完成后调用此方法,以使文件可查看。