自定义相机:图片尺寸小

时间:2014-07-18 10:34:14

标签: android camera android-camera

我正在使用自定义相机。因此,当我从原生相机中捕获图像时,它的尺寸 1.76MB 。但是,当我从自定义相机中捕获它 977.86KB 时。我已经为相机设置了以下属性......

        Camera.Parameters parameters = mCamera.getParameters();         
        parameters.setPreviewSize(mPreviewSize.width, mPreviewSize.height);
        parameters.setPictureSize(mPreviewSize.width, mPreviewSize.height);
        parameters.setRotation(90);
        parameters.setJpegQuality(100);
        parameters.setPictureFormat(ImageFormat.JPEG);

        android.util.Log.i(TAG, "####### setting FLASH_MODE_TORCH");
        parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
        parameters.setFocusMode("continuous-picture");

        if (parameters.getSupportedFocusModes().contains("continuous-picture")) {
            parameters.setFocusMode("continuous-picture");
            mCamera.setParameters(parameters);
        } else {
            Log.i(TAG, "FOCUS MODE continuous-picture NOT SUPPORTED......!!!");
        }

        mCamera.setParameters(parameters);
        mCamera.setDisplayOrientation(90);
        mCamera.setPreviewDisplay(mHolder);
        mCamera.startPreview();     
  

那么,问题出在哪里?是否有任何属性/参数我缺少但需要设置为相机才能获得预期结果?

1 个答案:

答案 0 :(得分:0)

您可以将图片大小设置为预览尺寸。它不仅很小,甚至可能导致RuntimeException。

Camera.Parameters有一个单独的getSupportedPictureSizes()方法。您应该选择其中一种支持的图片尺寸,除了极少数非常奇怪的情况外,这将有效。

预览尺寸也是如此。从getSupportedPreviewSizes()返回的列表中选择最符合您期望的那个。此外,请注意,某些尺寸仅由前置摄像头支持,有些尺寸仅由后置摄像头支持。这意味着,在之后从后向前切换时,请致电getSupportedPictureSizes()