2016-11-21 9 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() или загрузить metond.