1

我想直接从相机的输入创建一个大约 15 秒长的动画 gif。

目前,我通过每隔几毫秒拍摄一次图像来做到这一点,我计划使用 ffmpeg 之类的东西在服务器端处理这些图像以创建最终的 gif。

有没有办法让闪光灯做整个事情?

4

1 回答 1

1

有一个 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;
}
于 2013-05-23T22:23:04.307 回答