目前我正在设计一个基于照片编辑的应用程序。虽然这样做我遇到了一个问题,即
答案 0 :(得分:5)
您有一个ImageView
,您已通过各种灯光效果和彩色滤镜修改过,现在您希望将结果保存为SD卡,如.jpg或.png格式图像。
以下是:
Bitmap
加载View
图片。Bitmap
图像保存到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;
}
答案 1 :(得分:1)
Theree是两种方法...
1.应用RGB值后,将这些值保存在变量中,并将该值应用于所选图像
2.应用RGB值后,从图像视图中取出图像并保存