我已经构建了一个自定义的相机应用程序,我正在尝试更改所拍摄图像的重新分配.我已经读过这可能取决于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找到你想要的大小,或使用该信息来填充ListView或Spinner什么的用户选择所需的大小.这是最近更新的示例项目,用于getSupportedPictureSizes()查找支持的最小分辨率并使用它.
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)
希望这对你们有所帮助.
| 归档时间: |
|
| 查看次数: |
46651 次 |
| 最近记录: |