如何捕获图像并在裁剪完图像后将其替换为裁剪图像?

时间:2014-05-14 05:10:03

标签: android android-camera android-capture

看起来似乎很吵,但请不要看我的问题。

我在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上使用此示例:

this

做了什么:

我捕获图像并在捕获后运行裁剪图像方法,它也很好。

完成裁剪图像后,我无法看到裁剪后的图像,它只是拍摄的图像。

问题是什么:

没有错误,但我希望看到捕获的图像将被原始捕获的图像替换。

提前感谢!!

1 个答案:

答案 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);
}