2015-02-09 3 views
0

Я пытаюсь получить изображение обрезки, работающее на Samsung s4, но оно не отображает экран обрезки.Изображение на обложке Android на samsung s4

Это код, который я использую.

private void openCamera() { 
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 

    intent.putExtra(MediaStore.EXTRA_OUTPUT, 
      MediaStore.Images.Media.EXTERNAL_CONTENT_URI.toString()); 
    // ******** code for crop image 
    intent.setType("image/*"); 
    intent.putExtra("crop", "true"); 
    intent.putExtra("aspectX", 3); 
    intent.putExtra("aspectY", 4); 
    intent.putExtra("outputX", 180); 
    intent.putExtra("outputY", 220); 

    try { 

     intent.putExtra("return-data", true); 
     startActivityForResult(intent, 1); 

    } catch (ActivityNotFoundException e) { 
     // Do nothing for now 
     String s = e.getMessage(); 
     String test = e.getLocalizedMessage(); 
    } 
} 

ответ

1

Намерение, предназначенное для захвата изображения. Вам нужно сначала захватить изображение, а затем применить к нему урожай. Yo может это сделать.

private void openCamera() { 
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 

intent.putExtra(MediaStore.EXTRA_OUTPUT, 
     MediaStore.Images.Media.EXTERNAL_CONTENT_URI.toString()); 

try { 

    intent.putExtra("return-data", true); 
    startActivityForResult(intent, 1); 

} 
catch (ActivityNotFoundException e) { 
    // Do nothing for now 
     } 
} 

onActivityResult где вы получаете захваченное изображение. примените к этому урожай.

private void performCrop() { 
    try { 
     Intent cropIntent = new Intent("com.android.camera.action.CROP");   cropIntent.setDataAndType(mUri, "image/*"); 
     // set crop properties 
     cropIntent.putExtra("crop", "true"); 
     // indicate aspect of desired crop 
     cropIntent.putExtra("aspectX", 1); 
     cropIntent.putExtra("aspectY", 1); 
     // indicate output X and Y 
     cropIntent.putExtra("outputX", 150); 
     cropIntent.putExtra("outputY", 150); 
     // retrieve data on return 
     cropIntent.putExtra("return-data", true); 
     // start the activity - we handle returning in onActivityResult 
     startActivityForResult(cropIntent, 12); 
    } 
    // respond to users whose devices do not support the crop action 
    catch (ActivityNotFoundException anfe) { 
     // display an error message 
     String errorMessage = "Whoops - your device doesn't support the crop action!"; 
     Toast.makeText(Signature.this, errorMessage, Toast.LENGTH_SHORT) 
       .show(); 

    } 
} 
+0

спасибо. он решил мою проблему :) – dogwasstar

+0

Мое удовольствие :). Вы можете принять это как ответ. – justDroid

Смежные вопросы