2017-07-17 181 views
0

我的問題是,當我從相機拍攝照片並傳遞給其他活動時。圖像不是高分辨率。我如何在高分辨率下製作圖像?我的代碼如下如何獲得高分辨率圖像

主要活動

Button btn_cam = (Button) findViewById(R.id.btn_cam); 
    btn_cam.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
      MainActivity.this.startActivityForResult(intent, CAMERA_PIC_REQUEST); 

     } 
    }); 
} 

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == CAMERA_PIC_REQUEST && resultCode == RESULT_OK) { 

     Bitmap image = (Bitmap) data.getExtras().get("data"); 
     Intent cam = new Intent(this, MainCam.class); 
     cam.putExtra("flostic", image); 
     startActivity(cam); 

次活動

  Intent intent = getIntent(); 
      imageBitmap = (Bitmap) intent.getParcelableExtra("flostic"); 
+1

你沒有使用'EXTRA_OUTPUT',文檔說:*「如果EXTRA_OUTPUT不存在,那麼在額外的字段」* – pskink

+0

中返回一個小尺寸的圖像作爲位圖對象,但實際上你問了同樣的問題已經有3次了:每次你被告知要使用'EXTRA_OUTPUT',所以你想多次重複這個問題? – pskink

+0

年。但只有一個Bitmap對象可以在我的應用程序中運行 – Nash

回答

0

添加MediaStore.EXTRA_OUTPUT的意圖,並給予路徑putExtra指定圖片保存路徑,否則它只返回拍攝照片不是高分辨率照片。請參閱此doc

標準Intent可以發送的動作讓相機應用程序捕捉圖像並將其返回。來電者可以通過額外的EXTRA_OUTPUT來控制該圖像將被寫入的位置。如果EXTRA_OUTPUT不存在,則在額外字段中將小圖像作爲位圖對象返回。這對於只需要小圖像的應用程序很有用。如果存在EXTRA_OUTPUT,則全尺寸圖像將被寫入Uri的值EXTRA_OUTPUT