0

我的相机意图位图只有 160x120 我想我怎样才能获得全尺寸位图

顺便说一句,我尝试了 EXTRA_OUTPUT 但我不知道如何使用它

我有 2 节课

我的主要课程 onActivityResult 是这个

case CAMERA_REQUEST_CODE:
        if (resultCode == RESULT_OK) {
             Bitmap image1 = (Bitmap) data.getExtras().get("data");

            if (currentView == 0) {
                frontView.setScaleType(ScaleType.CENTER);
                 frontView.setImageBitmap(image1);
                isFrontActive = true;
            } else if (currentView == 1) {
                rearView.setScaleType(ScaleType.CENTER);
                rearView.setImageBitmap(camera.getImage());
                isRearActive = true;
            }

        }


        break;

这是 photo.class 代码

public void openCamera() {

    File file = new File(Environment.getExternalStorageDirectory(),
            "Sample.jpg");

         Uri imgUri = Uri.fromFile(file);
    imagepath = file.getAbsolutePath();

    Intent cameraIntent = new Intent(
            android.provider.MediaStore.ACTION_IMAGE_CAPTURE);

     cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, imagepath);
    mActivity.startActivityForResult(cameraIntent, CAMERA_REQUEST_CODE);

}

所以他们在一个单独的班级,我不知道如何使用 EXTRA_OUTPUT 请帮助我,谢谢

编辑:

我叫 photo.class

通过使用

photo.openCamera(); 在主课上

4

2 回答 2

1

我通过将 Uri 转换为位图来工作

bitmap = MediaStore.Images.Media.getBitmap(
                        this.getContentResolver(), imageUri);

然后我保存它使用

MediaStore.Images.Media.insertImage(
                            getContentResolver(), bitmap, "Title",
                            "Desc");

所以这是我在 Main.class 上的 onActivityResult 代码

case 2:

        if (resultCode == RESULT_OK) {
            Bitmap bitmap = null;
            Uri imageUri = camera.getImageUri();
            try {
                bitmap = MediaStore.Images.Media.getBitmap(
                        this.getContentResolver(), imageUri);
                bitmap = camera.setImage(bitmap);
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } finally {
                if (currentView == 0) {
                    frontView.setImageBitmap(bitmap);
                    isFrontActive = true;

                    MediaStore.Images.Media.insertImage(
                            getContentResolver(), bitmap, "Title",
                            "Desc");
                } else if (currentView == 1) {
                    rearView.setImageBitmap(bitmap);
                    isRearActive = true;

                }

            }

        }

        break;


and this is  my Photo.class

私有 Uri imageUri; // 全球的

public void openCamera() {

    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    File file = new File(Environment.getExternalStorageDirectory(),
            "Cloudstaff_Ron.jpg");
    Uri imgUri = Uri.fromFile(file);
    intent.putExtra(MediaStore.EXTRA_OUTPUT, imgUri);
    this.imageUri = imgUri;
    mActivity.startActivityForResult(intent, 2);
}
于 2013-08-09T08:26:37.163 回答
1

当您使用从额外读取位图时,您将获得图像的缩略图。

看一下这个例子以获得完整的尺寸

于 2013-08-08T08:56:06.610 回答