2016-11-21 12 views
0

質問があります。 これは私のアプリケーションが既に持っているコードで、次のように動作します。は写真>作物>アップロードです。 私は写真をトリミングしたくありません。どうすればいいですか? dispatchCropImageIntentメソッドを削除するだけですか?Androidアプリ作物写真

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    Log.d(this.getClass().getSimpleName(), "onActivityResult"); 
    if (resultCode == RESULT_OK) { 
     if (requestCode == REQUEST_IMAGE_CAPTURE) { 
      File imageFile = new File(mCurrentPhotoPath); 
      if (imageFile.exists()) { 
       dispatchCropImageIntent(Uri.fromFile(imageFile)); 
      } 
     } else if (requestCode == REQUEST_IMAGE_FROM_GALLERY_SELECT) { 
      dispatchCropImageIntent(data.getData()); 
     } else if (requestCode == REQUEST_PICTURE_CROP) { 
      String filePath = Environment.getExternalStorageDirectory() 
        + "/temporary_holder.jpg"; 
      setCurrentBitmap(BitmapFactory.decodeFile(filePath)); 
     } else if(requestCode == CAMERA_ACTIVITY_CODE){ 
      // Get path 
      String path = data.getStringExtra(CustomCamera.OUT_PATH); 

      // Read file 
      byte[] imgData = AppFS.readFileFromPath(path); 
      if (imgData != null) { 
       Bitmap bitmap = BitmapFactory.decodeByteArray(imgData , 0, imgData.length); 
       // TODO: Do something with the image, it should be okay 
       //((ImageView)findViewById(R.id.img)).setImageBitmap(bitmap); 
      } else { 
       Log.e("Main", "Data is null"); 
      } 
     } 
    } 
    else{ 
     onBackPressed(); 
    } 
} 

そして:

private void dispatchCropImageIntent(Uri uri) { 
    Intent cropImageIntent = new Intent("com.android.camera.action.CROP"); 
    cropImageIntent.setDataAndType(uri, "image/*"); 
    cropImageIntent.putExtra("crop", "true"); 
    cropImageIntent.putExtra("noFaceDetection", true); 
    cropImageIntent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString()); 
    // retrieve data on return 
    cropImageIntent.putExtra("return-data", true); 
    File f = new File(Environment.getExternalStorageDirectory(), 
      "/temporary_holder.jpg"); 
    try { 
     f.createNewFile(); 
    } catch (IOException ex) { 
     Log.e("io", ex.getMessage()); 
    } 

    uri = Uri.fromFile(f); 
    cropImageIntent.putExtra(MediaStore.EXTRA_OUTPUT, uri); 
    startActivityForResult(cropImageIntent, REQUEST_PICTURE_CROP); 
} 
+0

dispatchCropImageIntent()メソッドを削除して、後で使用するためにその画像パスを取得するだけです – Vadivel

答えて

0

私が正しくあなたを理解していれば、あなたのアプリがこのように操作できるようにしたい:写真>アップロードをとります。dispatchCropImageIntent()と置き換える必要があります。setCurrentBitmap()またはupload methond

関連する問題