簡體   English   中英

為什么要從 android 中的相機捕獲模糊圖像?

[英]Why getting blur image captured from camera in android?

  1. 我已經從相機拍攝了一張圖像,但圖像在 onActivityResult 中變得模糊。 下面是我的代碼,模糊圖像背后的原因是什么?

     if(requestCode== Constants.PermissionRequestCodes.REQUEST_CODE_CAMERA { if (data.= null) { if (.data.toString().equals("Intent { }")) { val thumbnail = data.,,extras,:,get("data") val contentURI = MediaHelper:getImageUri(this:thumbnail as Bitmap) opnCropImageActivity(contentURI. requestCode.thumbnail as Bitmap) } } } fun getImageUri(inContext. Context, inImage, Bitmap). Uri { val bytes = ByteArrayOutputStream() inImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes) val path = MediaStore,Images.Media.insertImage(inContext.contentResolver, inImage, "Title", null) return Uri.parse(path) }

不要使用bitmap獲取URI

使用以下代碼

 ImageView imageView;
 Uri image;
 String mCameraFileName;

 private void cameraIntent() {
        StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();
        StrictMode.setVmPolicy(builder.build());
        Intent intent = new Intent();
        intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);

        Date date = new Date();
        DateFormat df = new SimpleDateFormat("-mm-ss");

        String newPicFile = df.format(date) + ".jpg";
        String outPath = "/sdcard/" + newPicFile;
        File outFile = new File(outPath);

        mCameraFileName = outFile.toString();
        Uri outuri = Uri.fromFile(outFile);
        intent.putExtra(MediaStore.EXTRA_OUTPUT, outuri);
        startActivityForResult(intent, Constants.PermissionRequestCodes.REQUEST_CODE_CAMERA);
    }

  @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode == Activity.RESULT_OK) {
            if (requestCode == Constants.PermissionRequestCodes.REQUEST_CODE_CAMERA) {
                if (data != null) {
                    image = data.getData();
                    imageView.setImageURI(image);
                    imageView.setVisibility(View.VISIBLE);
                }
                if (image == null && mCameraFileName != null) {
                    image = Uri.fromFile(new File(mCameraFileName));
                    imageView.setImageURI(image);
                    imageView.setVisibility(View.VISIBLE);
                }
                File file = new File(mCameraFileName);
                if (!file.exists()) {
                    file.mkdir();
                }
            }
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM