【发布时间】:2017-10-01 03:25:31
【问题描述】:
我不会将简单的图像制作成像 GIF 这样的动画图像。我可以选择画廊的图像并存储在图像文件中。但是,我如何将图像文件修改为动画图像或 GIF 文件。
【问题讨论】:
-
使用gif编码器合并图片并制作动画
-
但这怎么可能?
-
你能给我一个ans中的任何代码吗?
标签: android image-editing
我不会将简单的图像制作成像 GIF 这样的动画图像。我可以选择画廊的图像并存储在图像文件中。但是,我如何将图像文件修改为动画图像或 GIF 文件。
【问题讨论】:
标签: android image-editing
这个问题需要更多信息。该文件是否已经是 GIF 并且它没有动画,或者您是否正在尝试将图像转换为 GIF?后者是不可能的,一个 GIF 是一系列图像。
您必须在其他地方创建 GIF,使用 Glide (https://github.com/bumptech/glide) 或 Picasso (http://square.github.io/picasso/) 之类的库来加载 GIF 是最简单的。
【讨论】:
您必须选择要制作 GIF 的图像,然后使用位图并在后台线程/异步任务中运行代码:
这里我使用了Drawable,在你的情况下将图像转换为位图并使用它。
Bitmap one=BitmapFactory.decodeResource(getResources(),R.drawable.neon0);
Bitmap two=BitmapFactory.decodeResource(getResources(),R.drawable.neon1);
Bitmap three=BitmapFactory.decodeResource(getResources(),R.drawable.neon2);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
AnimatedGifEncoder encoder = new AnimatedGifEncoder();
encoder.start(bos);
encoder.addFrame(one);
encoder.addFrame(two);
encoder.addFrame(three);
encoder.finish();
FileOutputStream outStream;
try{
outStream = new FileOutputStream(Environment.getExternalStorageDirectory().getPath() +
"/IMAGES_GIF/" + "animated.gif");
outStream.write(bos.toByteArray());
outStream.close();
}catch(Exception e){
e.printStackTrace();
}
从以下位置获取课程:
【讨论】: