Разрешение камеры - PullRequest
       17

Разрешение камеры

0 голосов
/ 18 октября 2018

Когда я делаю снимок, используя версию 6 для Android и предыдущую версию, разрешение изображения не вызывает проблем, но когда я делаю снимок, используя версию 7 для Android и новейшую фотографию после того, как сделал это с помощью камеры, пиксель качества изображения становится низким.как я могу решить эту проблему?

Это мой код:

    private void cameraIntent() {
        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        startActivityForResult(intent, REQUEST_CAMERA);
    }  

     @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {

        super.onActivityResult(requestCode, resultCode, data);
//        Log.i("convTech", "onActivityResult");
//        Log.i("convTech", "requestCode:: "+requestCode);
//        Log.i("convTech", "resultCode:: "+resultCode);
//        Log.i("convTech", "data:: "+data.getData());


        if (requestCode == SELECT_FILE && resultCode == Activity.RESULT_OK ) {
//            if (requestCode == PICK_IMAGE_REQUEST && resultCode == RESULT_OK && data != null && data.getData() != null) {
            try {

                btnTakeCapture.setVisibility(View.GONE);
                btnRetake.setVisibility(View.VISIBLE);
                btnComfirmImage.setVisibility(View.VISIBLE);
                notClear.setVisibility(View.VISIBLE);

                onCaptureImageResult(data);

                Log.i("convTech", "Data is Image");
//                Uri selectedImage = data.getData();
                Uri selectedImage = Uri.fromFile(destination);

//                String[] filePathColumn = {MediaStore.Images.Media.DATA};

                Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), selectedImage);
                ivImage.setImageBitmap(bitmap);


//                Cursor cursor = getContentResolver().query(selectedImage, filePathColumn, null, null, null);
//                cursor.moveToFirst();

//                int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
//                file_path = cursor.getString(columnIndex);
                file_path= selectedImage.getPath().toString();
                Log.d("ConvTech::", "file_path:: " + file_path);
//                cursor.close();
//                cursor.close();


            } catch (CursorIndexOutOfBoundsException e) {
                e.printStackTrace();
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }

        }
    }

     private void onCaptureImageResult(Intent data) {
        Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
        ByteArrayOutputStream bytes = new ByteArrayOutputStream();
        thumbnail.compress(Bitmap.CompressFormat.JPEG, 90, bytes);

        root = new File(Environment.getExternalStorageDirectory()+ File.separator + "JoPost" + File.separator);
        root.mkdirs();
        destination = new File(root, System.currentTimeMillis() + ".jpg");
        Log.d("ConvTech", "destination Path:: "+destination.getPath());


        try {
            destination.createNewFile();
            fo = new FileOutputStream(destination);
            thumbnail.compress(Bitmap.CompressFormat.PNG, 100, fo);
            fo.flush();
            fo.close();

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

        ivImage.setImageBitmap(thumbnail);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...