Android相机套装分辨率

Mat*_*att 11 android

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

我知道他们已经设置使用setParameters但只是不知道如何设置真正的resoloution适用于所有手机.我希望它有点小,否则我的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();
    }
Run Code Online (Sandbox Code Playgroud)

Com*_*are 17

没有setResolution(),只有setPictureSize().使用getSupportedPictureSizes()Camera.Parameters找到你想要的大小,或使用该信息来填充ListViewSpinner什么的用户选择所需的大小.这是最近更新的示例项目,用于getSupportedPictureSizes()查找支持的最小分辨率并使用它.

  • @Matt:如果通过"聊天"你的意思是我的办公时间之一为我的书的订阅者聊天,当然.除此之外,请打开一个新的StackOverflow问题并询问有关此示例项目的问题.用`commonsware`和`android`标记它,所以我拿起它,或在这里的评论中发布新问题的链接. (2认同)

Hir*_*tel 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); 
Run Code Online (Sandbox Code Playgroud)

希望这对你们有所帮助.