2

对,所以我有一个可以编辑图像之类的程序。我已经设法允许用户使用 as3corelib 中的PNGEncoder 类保存为 PNG 文件,但我还希望允许用户将图像保存为 GIF 文件。问题是,我能找到的保存 GIF 的唯一信息是动画 GIF(使用as3gif 之类的库),但我想将它们保存为静态GIF。

有人知道这样做的库或方法吗?我正在使用带有 FlashDevelop 的 Flex 4 SDK 制作一个 AIR 应用程序。

编辑:我尝试使用 as3gif 制作单帧 GIF:

var encoder:GIFEncoder = new GIFEncoder();
encoder.setRepeat(0);
encoder.setDelay(500);
encoder.start();
encoder.addFrame(image);
encoder.finish();

imageBytes = encoder.stream;

然后我继续使用 FileStream 保存字节,但它给了我一个无效的 GIF 文件。我也尝试了 Jonatan 的代码,但结果相同。

编辑:问题出在我的代码的其他地方。使用带有单帧的 as3gif 对 gif 进行编码可提供功能齐全的静态 gif。

4

1 回答 1

3

只需用一帧制作一个 gif,您就有了一个静态 gif。

编辑:代码看起来像这样;

var ge:GIFEncoder = new GIFEncoder();
ge.start();
ge.addFrame(myBitmapData);
ge.finish();

ge.stream; //This should now contain the image data

(未经测试)

于 2012-07-29T16:26:35.720 回答