当前位置:首页 » 安卓系统 » androidcamera预览

androidcamera预览

发布时间: 2023-07-15 08:16:35

1. android如何获取相机分辨率

安卓系统在获取相机分辨率时,可以参考SDK中的API,获取相机的参数:

Camera.Parameters parameters = camera.getParameters();

获取预览的各种分辨率:

List<Size> supportedPreviewSizes = parameters.getSupportedPreviewSizes();

获取摄像头支持的各种分辨率:

List<Size> supportedPictureSizes = parameters.getSupportedPictureSizes();

例如:获取照相机颤弯参数,设置需要的参数,其余缺省

Camera camera = Camera.open();

Camera.Parameters parameters = camera.getParameters();

设置照片格式:

parameters.setPictureFormat(PixelFormat.JPEG);

设置预浏尺嫌洞含寸,注意要在摄像头芹笑支持的范围内选择:

parameters.setPreviewSize(WIDTH, HEIGHT);

设置照片分辨率,注意要在摄像头支持的范围内选择

parameters.setPictureSize(WIDTH, HEIGHT);

设置照相机参数:

camera.setParameters(parameters);

开始拍照:

camera.startPreview();

以上就是获取相机分辨率的步骤。

2. android camera2 用surfaceview输出预览图像画面拉长

项目当中遇到调整摄像头位置需要全屏显示摄像头预览界面,过程中发现预览界面存在无法显示全,画面被拉伸的问题。surfaceview的宽高比可能与camera设置的宽高比不一致 ,经测试发现设置Camera 预览宽高可解决此问题(注意这里设置屏幕物理宽高不起作用,必须设置屏幕分辨率)
////通过Resources获取(无效)
// DisplayMetrics dm = getResources().getDisplayMetrics();
// heigth = dm.heightPixels;
// width = dm.widthPixels;
//获取屏幕的默认分辨率 设置预览界面长宽解决预览界面变形显示不全问题(有效)
Display display = getWindowManager().getDefaultDisplay();
int height = display.getWidth();
int width = display.getHeight();
Camera.Size preSize = CameraUtil.getCloselyPreSize( true , width, height, parameters.getSupportedPreviewSizes());
parameters.setPreviewSize(preSize.width, preSize.height);
Log.e(TAG + "摄像头尺寸前置" , "width" + preSize.width + "------" + "height" + preSize.height);
camera2.setParameters(parameters);
// 启动摄像头预览
camera2.startPreview();
System.out.println( "camera.startpreview" );

热点内容
缓存区数据读写原理 发布:2025-05-15 03:39:57 浏览:585
编译器生成的是二进制文件吗 发布:2025-05-15 03:38:42 浏览:954
运营为什么区分ios和安卓 发布:2025-05-15 03:30:02 浏览:630
主播网站源码 发布:2025-05-15 02:50:56 浏览:168
中文编程语言有哪些 发布:2025-05-15 02:48:59 浏览:536
配置中心应急流程有哪些 发布:2025-05-15 02:37:31 浏览:670
php宏定义 发布:2025-05-15 02:32:54 浏览:271
咸鱼支付密码哪里改 发布:2025-05-15 02:32:53 浏览:521
存储机箱 发布:2025-05-15 02:31:31 浏览:837
编程很累吗 发布:2025-05-15 02:29:25 浏览:553