微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在android中应用RGB彩色滤镜后在SD卡中保存图像

目前我正在设计一个基于照片编辑的应用程序.这样做我遇到了一个问题,即

>我已经从这个link学习了“如何为图像应用RGB滤色器”的教程,本教程非常有用且很好.
>但问题是在将RGB滤色器应用于图像后需要将更改的图像保存在SD卡中.
>我为此搜索了很多内容,但没有发现确切的事情.
>他们中的许多人都在使用油漆()但我没有得到如何使用它.
>所以我的问题就是“在将RBG Coloration应用到图像后我需要将该图像保存在SD卡中,但我没有找到该怎么做”?

解决方法:

如何将Android ImageView保存到SD卡

你有一个ImageView,你已经通过各种灯光效果彩色滤光片进行了修改,现在你希望将结果保存为SD卡,如.jpg或.png格式图像.

这是如何做:

>从View加载位图图像.
>将位图图像保存到SD卡.

例:
不要忘记测试Exceptions并为清单添加必要的权限!

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;
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐