看起来似乎很吵,但请不要看我的问题。
我在google和stackoverflow上搜索了很多次。 我找到了很多例子,但没有一个能解决我的问题。
我想捕获图像并保存它(我给出了路径)之后我想裁剪它并将其保存到同一个地方(我的意思是用裁剪的图像替换原始文件)
我用它拍摄照片:
Intent cameraIntent = new Intent( MediaStore.ACTION_IMAGE_CAPTURE);
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri); // outputFileUri is my path
startActivityForResult(cameraIntent, TAKE_PHOTO_CODE);
对于裁剪图像我在stackoverflow上使用此示例:
我捕获图像并在捕获后运行裁剪图像方法,它也很好。
完成裁剪图像后,我无法看到裁剪后的图像,它只是拍摄的图像。
没有错误,但我希望看到捕获的图像将被原始捕获的图像替换。
提前感谢!!
答案 0 :(得分:1)
试试这个,onActivityResult你将返回数据
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case Utils.CROP_IMAGE:
if (resultCode == RESULT_OK) {
// Create an instance of bundle and get the returned data
try {
Uri outputFileUri = data.getData();
String path = getRealPathFromURI(outputFileUri)
} catch (Exception e) {
// TODO: handle exception
}
}
break;
default:
break;
}
}
从URI获取文件路径。
public String getRealPathFromURI(Uri contentUri)
{
String[] proj = { MediaStore.Audio.Media.DATA };
Cursor cursor = managedQuery(contentUri, proj, null, null, null);
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
}