从画布中捕获一系列帧,可以另存为图片。
saveFrames()
创建一个帧对象数组。每一帧存储为一个对象,其文件类型、文件名和图像数据为字符串。例如,第一个保存的帧可以具有以下属性:
{ ext: "'png', filename: 'frame0', imageData:" "'data":"image/octet-stream;base64, abc123'}
。
第一个参数filename
设置文件的前缀名称。例如,将前缀设置为 'frame'
会生成图像" 文件frame0.png
、frame1.png
等。
第二个参数extension
将文件类型设置为 "'png'
或 'jpg'
.
第三个参数duration
设置录制时间,以秒计算。 最长持续时间为 15 秒。
第四个参数framerate
,设置每秒录制帧数。最大帧速率值为 22。有限制duration
和 framerate
以避免使用过多内存。录制大画布很容易使绘图甚至网络浏览器崩溃。
第五个参数,callback
,是可选的。如果传入回调函数, 在默认情况下,系统不会保存图像文件。我们可以通过这个回调函来处理这个数组里的所有数据。它包含了所有捕捉到的帧,每一帧也包含了具有三个属性的对象:imageData
、filename
和 extension
。
注意:在默认情况下,帧会作为单独的图像文件下载。
示例
语法
saveFrames(filename, extension, duration, framerate, [callback])
参数
filename
字符串:
文件名前缀。
extension
字符串:
文件扩展名,“jpg” 或 “png”。
duration
数字:
录制的持续时间以秒为单位。该参数将被限制为小于或等于 15。
framerate
数字:
每秒保存的帧数。该参数将被限制为小于或等于 22。
callback
函数(数组):
回调函数将被用来处理图像数据。这个函数应该接受一个数组作为参数。这数组将包含指定数量对象的帧。每个对象有三个属性:imageData
、filename
和extension
。
Notice any errors or typos? Please let us know. Please feel free to edit src/image/image.js and open a pull request!