2017-06-03 1 views
-1

J'ai essayé de définir sur imageview avec la qualité d'origine, mais l'image est compressée. s'il vous plaît aidez-moi à définir l'image dans la image originale avec la qualité d'origine.Cliquez sur Image par téléphone Appareil photo et définir sur ImageView en qualité d'origine

ImageView imageView; 
private static final int CAMERA_REQUEST = 1888; 
Bitmap photo; 



    uploadImg.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

      Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
      startActivityForResult(cameraIntent, CAMERA_REQUEST); 

     } 
    }); 


    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == CAMERA_REQUEST) { 
     if(data!=null) { 
      photo = (Bitmap) data.getExtras().get("data"); 
      imageView.setImageBitmap(photo); 
     } 

    } 
} 
+0

Essayez d'utiliser 'glide' –

+0

S'il vous plaît me montrer le code –

+0

ci-dessous est le code, espérons que cela résout votre problème –

Répondre

1

Essayez d'utiliser glide, d'abord dans votre gradle ajouter la dépendance

compile 'com.github.bumptech.glide:glide.3.7.0' 

Et utiliser ce code pour obtenir des images de capture

values = new ContentValues(); 
      values.put(MediaStore.Images.Media.TITLE, "New Picture"); 
      values.put(MediaStore.Images.Media.DESCRIPTION, "From your Camera"); 
      imageUri = getContentResolver().insert(
        MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values); 
      Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
      intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri); 
      startActivityForResult(intent, PICTURE_RESULT); 

Et puis dans onActivityResult

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     switch (requestCode) { 

     case PICTURE_RESULT: 
      if (requestCode == PICTURE_RESULT) 
       if (resultCode == Activity.RESULT_OK) { 
        try { 
         thumbnail = MediaStore.Images.Media.getBitmap(
           getContentResolver(), imageUri); 
         imgView.setImageBitmap(thumbnail); 
         imageurl = getRealPathFromURI(imageUri); 

    Imageview imageView = (ImageView) findViewById(R.id.image_view); 

Glide.with(this).load(imageurl).into(imageView); 


        } catch (Exception e) { 
         e.printStackTrace(); 
        } 

       } 
     } 
    } 

Et pour obtenir le chemin de l'image

public String getRealPathFromURI(Uri contentUri) { 
     String[] proj = { MediaStore.Images.Media.DATA }; 
     Cursor cursor = managedQuery(contentUri, proj, null, null, null); 
     int column_index = cursor 
       .getColumnIndexOrThrow(MediaStore.Images.Media.DATA); 
     cursor.moveToFirst(); 
     return cursor.getString(column_index); 
    } 
+0

PICTURE_RESULT n'est pas resolving.Its montrant Red @Abdul –

+0

juste déclare int PICTURE_RESULT = 5; Dans votre classe –