在我的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);


在开始上传活动之前,我想降低图片质量(我希望服务器使用更亮的图片)。
我怎样才能做到这一点 ?

谢谢

最佳答案

上传前先将图像转换为Bitmap并压缩位图以设置图像的质量并将其写入正确的路径。可以更改图像的质量,希望这将有助于您减小图像的尺寸。

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

compress方法定义为

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

您也可以从Bitmap.compress那里获得帮助

关于android - 拍照并降低画质,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36720793/

10-11 10:33