【问题标题】:How to save an image in sdcard after applying RGB color filter in android在android中应用RGB颜色过滤器后如何将图像保存在sdcard中
【发布时间】:2013-04-29 19:32:32
【问题描述】:

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

  1. 我已经阅读了来自 link 的教程“如何为图像应用 RGB 滤色器”,这个教程非常有用而且很好。
  2. 但问题是在对图像应用 RGB 滤色器后,我需要将更改后的图像保存在 sd 卡中。
  3. 我为此搜索了很多,但没有找到确切的内容。
  4. 他们中的许多人建议使用paint(),但我不知道如何使用它。
  5. 所以我的问题是“在对图像应用 RBG 着色后,我需要将该图像保存在 SD 卡中,但我没有找到如何操作”?

【问题讨论】:

  • 使用画布捕获绘制的图像

标签: android colors colorfilter


【解决方案1】:

如何将 Android ImageView 保存到 SD 卡

您有一个 ImageView,您已通过各种灯光效果和颜色过滤器对其进行了修改,现在您希望将结果以 .jpg 或 .png 格式的图像保存到 SD 卡中。

方法如下

  1. View 加载Bitmap 图像。
  2. Bitmap图像保存到SD卡。

示例
不要忘记测试异常并将必要的权限添加到您的清单中!

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

【讨论】:

    【解决方案2】:

    有两种方法...
    1.应用 RGB 值后,将这些值保存在变量中,并将这些值应用到所选图像。
    2.应用 RGB 值后,从图像视图中获取图像并保存

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-27
      • 2012-05-25
      • 2014-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多