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录制。须在记录完成后调用此方法,以使文件可查看。