2017-06-03 45 views
-1

我試圖在原始質量的imageview上設置,但圖像被壓縮。 請幫我在imageview中設置圖像與原始質量。點擊圖片通過手機攝像頭,並設置爲ImageView原始質量

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

使用'glide' –

+0

請告訴我的代碼 –

+0

下面是代碼嘗試,希望這能解決你的問題 –

回答

1

使用滑行,先在你的gradle產出增加依賴

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

使用此代碼來獲取捕捉圖像

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); 

然後在嘗試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(); 
        } 

       } 
     } 
    } 

而獲得圖像的路徑

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都不會顯示紅色@Abdul –

+0

resolving.Its剛聲明int PICTURE_RESULT = 5;在你的班級 –

相關問題