【2013.07.16】关于自定义相机照片尺寸设定和预览图片拉伸处理
@Overridepublic void surfaceChanged(SurfaceHolder holder, int format, int width,int height) {Parameters parameters = camera.getParameters();// 获得相机参数parameters.setPictureSize(1024, 768);Size size = parameters.getPictureSize();double w = size.width;double h = size.height;if (width > height) {this.setLayoutParams(new LinearLayout.LayoutParams((int) (height * (w / h)), height));} else {this.setLayoutParams(new LinearLayout.LayoutParams(width,(int) (width * (h / w))));}parameters.setPreviewSize(width, height); // 设置预览图像大小parameters.setPictureFormat(PixelFormat.JPEG); // 设置照片格式camera.setParameters(parameters);// 设置相机参数camera.startPreview();}
?
?
遇到setParameters failed 错误,是因为自定义SurfaceView控件的宽和高设置成了固定的大小,设置成wrap_content才行
?
<com.saya.CameraView android:id="@+id/cameraView" android:layout_width="wrap_content" android:layout_height="wrap_content" > </com.saya.CameraView>
?
?
?
?
?
传送门:http://www.devdiv.com/android_camera_-blog-67600-6759.html