Javascript 从png数据数组创建动画gif

Javascript 从png数据数组创建动画gif,javascript,canvas,png,gif,getusermedia,Javascript,Canvas,Png,Gif,Getusermedia,我正在从事一个项目,在这个项目中,我使用getUserMedia从网络摄像头创建一个png图像数据数组。 我现在正试图将此数组转换为一个动画gif 提前感谢, PS:我只想使用纯javascript,但如果我需要一个外部库,我会使用一个 代码: Vulpus提供的getUserMedia API-JSFIDLE演示 录音机 getUserMedia 开始视频 停止录像 下载 // 您无法使用canvas以本机方式创建GIF,但可以使用名为JSGif的库来完成此操作: 从自述文件: 现在我

我正在从事一个项目,在这个项目中,我使用getUserMedia从网络摄像头创建一个png图像数据数组。 我现在正试图将此数组转换为一个动画gif

提前感谢,

PS:我只想使用纯javascript,但如果我需要一个外部库,我会使用一个 代码:


Vulpus提供的getUserMedia API-JSFIDLE演示
录音机
getUserMedia
开始视频
停止录像
下载
//  

您无法使用canvas以本机方式创建GIF,但可以使用名为JSGif的库来完成此操作:

从自述文件:

现在我们需要初始化GIF编码器

var encoder = new GIFEncoder();
如果正在制作动画gif,则需要添加以下内容

encoder.setRepeat(0); //0  -> loop forever
                      //1+ -> loop n times then stop
encoder.setDelay(500); //go to next frame every n milliseconds
现在,你需要告诉神奇的事情,你要开始插入帧(即使只有一帧)

对于移植时间最长的部分:添加真实帧

encoder.addFrame(context);

有关更多详细信息,请查看其文档。

遗憾的是,它使用的是flash,我希望在手机和手机上获得支持Desktop@Vulpus它不使用闪光灯;它是flash代码的一个端口,这就是为什么您会看到AS/flash引用,但这个版本是纯javascript代码。:-)
encoder.start();
encoder.addFrame(context);