目前,我正在尝试将我的相机放在摩托罗拉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.