在Android中设置相机图像大小

前端之家收集整理的这篇文章主要介绍了在Android中设置相机图像大小前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
目前,我正在尝试将我的相机放在摩托罗拉Droid手机上拍摄与我的屏幕尺寸(854 x 480像素)匹配的图像,我正在尝试通过相机的参数完成:
Camera.Parameters parameters = this.mCamera.getParameters();
Log.i(TAG,"CAMERA SIZE: (" + this.mCameraView.getWidth() + "," + this.mCameraView.getHeight() + ")");
parameters.setPictureSize(this.mCameraView.getWidth(),this.mCameraView.getHeight());
this.mCamera.setParameters(parameters);
this.mCamera.takePicture(null,null,this);

我有我的活动实现onPictureTaken的Camera.PictureCallback方法(不包括日志调用),所以当调用takePicture方法时,它运行此方法

@Override
public void onPictureTaken(byte[] data,Camera camera) {
    Bitmap image = BitmapFactory.decodeByteArray(data,data.length);
    //Size imageSize = camera.getParameters().getPictureSize();
    //image = Bitmap.createBitmap(image,imageSize.width,imageSize.height);
    this.mCameraView.setBackgroundDrawable(new BitmapDrawable(image));
}

由于某些原因,我的相机正在拍摄1280 x 960.这是相机可以捕获图像的某种最小尺寸?从日志调用我可以看到,相机的参数仍然设置为854 x 480的图片大小,但图像不断出现为1280 x 960.我错误地解码图像,我设置相机的参数不正确,或者是我做别的什么错了?

提前感谢您可以给予任何帮助!

问候,celestialorb.

解决方法

是的,有提供方法来获得相机支持图片大小.
相机提供支持图片大小的参数类相机的方法是getSupportedPictureSizes();
使用此方法,您可以通过相机获取支持的大小.
代码段将如下所示:
Camera camera = Camera.open();
Parameters params = camera.getParameters();
List<Camera.Size> sizes = params.getSupportedPictureSizes();

我希望这将有助于你.

谢谢纳瓦布

猜你在找的Android相关文章