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

时间:2013-04-25 04:39:12

标签: android colors colorfilter

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

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

2 个答案:

答案 0 :(得分:5)

如何将Android ImageView保存到SD卡

您有一个ImageView,您已通过各种灯光效果和彩色滤镜修改过,现在您希望将结果保存为SD卡,如.jpg或.png格式图像。

以下是

  1. Bitmap加载View图片。
  2. Bitmap图像保存到SD卡。
  3. 示例
    不要忘记测试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;
    }
    

答案 1 :(得分:1)

Theree是两种方法...
1.应用RGB值后,将这些值保存在变量中,并将该值应用于所选图像 2.应用RGB值后,从图像视图中取出图像并保存