目前我正在设计一个基于照片编辑的应用程序。在这样做时我遇到了一个问题,即
- 我已经完成了教程“如何为图像应用 RGB 滤色器”link http://android-er.blogspot.in/2012/09/adjust-lightness-and-darkness-of.html这个教程非常有帮助而且很好。
- 但问题是在对图像应用 RGB 滤色器后,我需要将更改后的图像保存在 SD 卡中。
- 我为此用谷歌搜索了很多,但没有找到确切的东西。
- 他们中的许多人建议使用 Paint() 但我不知道如何使用它。
- 所以我的问题正是“将 RBG 着色应用于图像后,我需要将该图像保存在 SD 卡中,但我没有找到如何做到这一点”?
如何将 Android ImageView 保存到 SD 卡
你有一个ImageView
您已通过各种灯光效果和色彩滤镜对其进行了修改,现在您希望将结果作为 .jpg 或 .png 格式图像保存到 SD 卡。
就是这样:
- Load
Bitmap
图片来自View
.
- Save
Bitmap
图像到 SD 卡。
Example:
不要忘记测试异常并向您的清单添加必要的权限!
ImageView imageView = <View to save to SD card>;
Bitmap bitmap = loadBitmapFromView(imageView);
final String pathTxt = Environment.getExternalStorageDirectory();
File storagePath = new File(pathTxt);
File file = new File(storagePath, "filename.jpg");
FileOutputStream out = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.JPEG, 80, out);
out.flush();
out.close();
private Bitmap loadBitmapFromView(View v) {
final int w = v.getWidth();
final int h = v.getHeight();
final Bitmap b = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
final Canvas c = new Canvas(b);
//v.layout(0, 0, w, h);
v.layout(v.getLeft(), v.getTop(), v.getRight(), v.getBottom());
v.draw(c);
return b;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)