Android相机套装分辨率

时间:2012-01-05 15:25:53

标签: android

我已经构建了一个自定义相机应用程序,我正在尝试更改所拍摄图像的分辨率。我已经读过这可能取决于Android的手机或版本?

我知道他们是使用setParameters设置的,但我们不知道如何设置所有手机上的精确解析功能。我希望它有点小,否则我的app力会关闭。当我在640x348使用测试图片时,这种尺寸/分辨率的测试非常完美。

使用setPictureSize可能更容易吗?

public void surfaceCreated(SurfaceHolder holder) {
    // TODO Auto-generated method stub
    camera = Camera.open();
    try {
           Camera.Parameters parameters = camera.getParameters();
           if (this.getResources().getConfiguration().orientation != Configuration.ORIENTATION_LANDSCAPE) {
              parameters.set("orientation", "portrait");
              camera.setDisplayOrientation(90);
              // Uncomment for Android 2.0 and above
              parameters.setRotation(90);
           } else {
              parameters.set("orientation", "landscape");
              camera.setDisplayOrientation(0);
              // Uncomment for Android 2.0 and above
              parameters.setRotation(0);
           }
          camera.setParameters(parameters);
          camera.setPreviewDisplay(holder);
      } catch (IOException exception) {
         camera.release();
       }
        camera.startPreview();
    }

2 个答案:

答案 0 :(得分:17)

没有setResolution(),只有setPictureSize()。使用getSupportedPictureSizes()上的Camera.Parameters查找所需尺寸,或使用该信息填充ListViewSpinner或其他内容,以便用户选择所需尺寸。 Here is a sample project最近更新为使用getSupportedPictureSizes()查找支持的最小分辨率并使用它。

答案 1 :(得分:13)

使用高质量来捕捉图片太容易了,在这里您可以设置自己的分辨率

mCamera = Camera.open();
Camera.Parameters params = mCamera.getParameters();

// Check what resolutions are supported by your camera
List<Size> sizes = params.getSupportedPictureSizes();

// Iterate through all available resolutions and choose one.
// The chosen resolution will be stored in mSize.
Size mSize;
for (Size size : sizes) {
    Log.i(TAG, "Available resolution: "+size.width+" "+size.height);
        mSize = size;
    }
}

Log.i(TAG, "Chosen resolution: "+mSize.width+" "+mSize.height);
params.setPictureSize(mSize.width, mSize.height);
mCamera.setParameters(params); 

希望这对你们有所帮助。