我正在使用GitHub的图像背景移除库。我的图像在移除背景后没有保存在存储中。
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == CutOut.CUTOUT_ACTIVITY_REQUEST_CODE) {
switch (resultCode) {
case Activity.RESULT_OK:
Uri imageUri = CutOut.getUri(data);
// Save the image using the returned Uri here
//what code to add here so i can save my image
how to save image using Retun Uri
Intent intent1=new Intent(BackgroundRemover.this,MainActivity.class);
startActivity(intent1);
break;
case CutOut.CUTOUT_ACTIVITY_RESULT_ERROR_CODE:
Exception ex = CutOut.getError(data);
break;
default:
System.out.print("User cancelled the CutOut screen");
Intent intent2=new Intent(BackgroundRemover.this,AdvanceFeatures.class);
startActivity(intent2);
}
}
}
如何使用返回URI保存图像?
2条答案
按热度按时间wz1wpwve1#
通过URI保存图像的一种实用方法是编写以下代码:
1 -使用
CutOut.getUri(data)
获取图像的URI。2-
MediaStore.Images.Media.getBitmap
以获取位图对象3-
getContentResolver().openOutputStream(imageUri)
以获取OutputStream
对象,从而将图像数据写入URI。4 -
bitmap.compress
压缩图像数据并将其写入OutputStream。5例
Activity.RESULT_OK:
(您的块)onActivityResult
方法。z8dt9xmd2#
您必须从URI获取字节数组,并使用输出和输入流将字节数组转换为文件。
从URI获取字节数组
从URI获取文件信息
从字节数组写入文件