2013-04-30 56 views
0

如何从意图拍照并保存原始大小

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);

onActivityResult不是URI格式,但JPG,PNG原大小达到照片并保存库。 需要JPG,PNG因为在拍摄之后我在其上添加了水印。

我不知道为什么bitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);返回的照片尺寸从2048x1536256x192

回答

0
  1. 为了将图像保存到图库中,您必须发送广播,如下面的代码示例所示。

  2. 如果你需要图像信号的大小,你可以简单地捕捉uri并将其设置为一个ImageView直接。尽管将其缩小并使用较小版本的位图来避免OutOfMemory异常是一种很好的做法。

    public void onActivityResult(int requestCode, int resultCode, Intent intent) { 
        super.onActivityResult(requestCode, resultCode, intent); 
    
        if(requestCode==CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE){ 
         if(resultCode==RESULT_OK){ 
          saveToGallery(mImageUri); 
          yourImageView.setImageURI(mImageUri); 
         } 
        } 
    } 
    
    public void saveToGallery(Uri uri){ 
        sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,uri)); 
    }