我想直接从相机的输入创建一个大约 15 秒长的动画 gif。
目前,我通过每隔几毫秒拍摄一次图像来做到这一点,我计划使用 ffmpeg 之类的东西在服务器端处理这些图像以创建最终的 gif。
有没有办法让闪光灯做整个事情?
我想直接从相机的输入创建一个大约 15 秒长的动画 gif。
目前,我通过每隔几毫秒拍摄一次图像来做到这一点,我计划使用 ffmpeg 之类的东西在服务器端处理这些图像以创建最终的 gif。
有没有办法让闪光灯做整个事情?
有一个 gif 库可以做到这一点。我不太确定它是如何工作的,但看看 API 似乎是这样的:
var encoder:GIFEncoder = new GIFEncoder();
encoder.start();
encoder.addFrame(bitmapData); // for each frame
encoder.finish();
https://github.com/audreyt/as3gif
更新
我能够使用以下函数编码为 gif,该函数接受一个 BitmapData 数组并返回一个 ByteArray。
public function encode(frames:Array):ByteArray
{
var encoder:GIFEncoder = new GIFEncoder();
encoder.start();
for (var i:int = 0; i < frames.length; i++)
{
encoder.addFrame(frames[i]);
}
encoder.finish();
return encoder.stream;
}