2016-04-19 7 views
1

を減らし、私はこのような写真撮影するボタンがあります。写真を撮って、私のAndroidアプリでは品質

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

      Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
      imageUri = Uri.fromFile(new File(Environment.getExternalStorageDirectory(), "fname_" + 
        String.valueOf(System.currentTimeMillis()) + ".jpg")); 
      intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri); 
      startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE); 
     } 
    }); 

と私のActivityResultで:

Intent intent = new Intent(this, UploadPicture.class); 
      intent.putExtra("URI", imageUri.toString()); 
      startActivity(intent); 

を私は削減したいですアップロードのアクティビティを開始する前に私の画像の品質(私はサーバーのための画像を軽くしたい)。 どうすればいいですか?

おかげ

+0

品質からの助けを取ることができます

public boolean compress (Bitmap.CompressFormat format, int quality, OutputStream stream)

として定義されていますか?どうして?私はむしろイメージのサイズを変更します(もしあなたが良い品質を必要としないなら、1MP(1280 x 960)以上の解像度を必要としないことを意味します) – Selvin

答えて

2

アップロードする前に、Bitmapに画像を変換し、画像の品質を設定するビットマップを圧縮し、画像の正しいpath.The品質に書き込むには、変更と、これは減らすためにあなたを助けることを願っていますすることができます画像のサイズ

bitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);

compress方法は、あなたは、このもBitmap.compress

+0

ありがとう!しかし、** OutputStream stream ** parametreは何ですか? –

+0

この[code](http://www.javased.com/?api=android.graphics.Bitmap.CompressFormat)の例7を参照してください。 –

関連する問題