我正在寻找一种简单的方法create本机 Android 应用程序中的动画 GIF。
源文件应为 JPEG(来自相机或其他文件),输出应在设备上保存为 GIF。
我不想知道如何播放动画或动画 GIF 文件。
需要明确的是:我想知道如何将单个图像逐帧放入“电影”中,然后将其另存为 .gif 文件。
e.g. This App https://play.google.com/store/apps/details?id=com.listen5.gif可以做我想做的事。
请参阅此解决方案。
https://github.com/nbadal/android-gif-encoder https://github.com/nbadal/android-gif-encoder
这是这篇文章的 Android 版本。
http://www.jappit.com/blog/2008/12/04/j2me-animated-gif-encoder/ http://www.jappit.com/blog/2008/12/04/j2me-animated-gif-encoder/
要使用此类,这里有一个生成 GIF 字节数组的示例辅助方法。请注意,此处 getBitmapArray() 函数是一次返回图像适配器中的所有位图文件的方法。因此,输入是一个适配器中的所有位图文件,输出是一个可以写入文件的字节数组。
public byte[] generateGIF() {
ArrayList<Bitmap> bitmaps = adapter.getBitmapArray();
ByteArrayOutputStream bos = new ByteArrayOutputStream();
AnimatedGifEncoder encoder = new AnimatedGifEncoder();
encoder.start(bos);
for (Bitmap bitmap : bitmaps) {
encoder.addFrame(bitmap);
}
encoder.finish();
return bos.toByteArray();
}
要使用此功能,请执行以下操作,然后将文件保存到 SD 卡中。
FileOutputStream outStream = null;
try{
outStream = new FileOutputStream("/sdcard/generate_gif/test.gif");
outStream.write(generateGIF());
outStream.close();
}catch(Exception e){
e.printStackTrace();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)