0

我在几个论坛问题中读到了这一点。但总是,人们最终使用方法“Bitmap createScaledBitmap (Bitmap src, int dstWidth, int dstHeight, boolean filter)”,但我不能应用此方法,因为在处理大图像时,它会失败并显示内存不足的消息。

我想知道如何调整已经拍摄的大图像的大小。我已经阅读了大型位图的 android 开发人员部分,但我无法实现它。

我正在使用下一个代码来拍摄照片。

public void openTakePicture() {

        String date = new SimpleDateFormat("dd-MM-yyyy_HH-mm-ss").format(new Date());

        photoname = "pic_" + date + ".jpg";

        // Create an output file.
        file = new File(Environment.getExternalStorageDirectory(), photoname);
        outputFileUri = Uri.fromFile(file);

        // Generate the Intent.
        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);

        // Launch the camera app.
        startActivityForResult(intent, TAKE_PICTURE);

    }

感谢您的意见

4

1 回答 1

1

根据您的需要,您可以捕获较小的图片,然后对其进行操作。我使用了类似于下面的东西,但遇到了一些相机不支持 setPictureSize 的问题,所以我最终使用了缩放位图方法。

在调用 setPictureSize 之前,您可能需要测试一下相机是否支持您想要的尺寸。

parameters.setPictureFormat(ImageFormat.JPEG);
parameters.setPictureSize(1600, 1200);
parameters.setJpegQuality(30);
mCamera.setParameters(parameters);
于 2014-04-28T21:45:49.850 回答