Android Camera 2预览尺寸和设备纵横比

Android Camera 2预览尺寸和设备纵横比,第1张

概述我正在我的项目中实现Camera 2 API.我正在使用TextureView和这些代码行设置相机全屏预览大小: StreamConfigurationMap map = characteristics.get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP); mPreviewSize = map.get 我正在我的项目中实现Camera 2 API.我正在使用TextureVIEw和这些代码行设置相机全屏预览大小:
StreamConfigurationMap map = characteristics.get(Cameracharacteristics.SCALER_STREAM_CONfigURATION_MAP);                mPrevIEwSize = map.getoutputSizes(SurfaceTexture.class)[0];

这似乎是设备支持的最大预览尺寸.我不确定这个尺寸是否适用于所有设备并且适合其设备的纵横比而不会被拉伸.有人知道吗?

解决方法 如果您的相机分辨率,纹理视图和设备的显示尺寸不同,则必须调整尺寸.为此,您必须将TextureVIEw放在FrameLayout中.以下代码适用于具有各种显示分辨率的所有设备.

如果要全屏预览,请选择显示尺寸.获取int DSI_height,int DSI_wIDth全局变量.

displayMetrics displayMetrics = new displayMetrics();    getwindowManager().getDefaultdisplay().getMetrics(displayMetrics);    DSI_height = displayMetrics.heightPixels;    DSI_wIDth = displayMetrics.wIDthPixels;

从Camera2 API中选择所需的分辨率并指定大小imageDimension,全局获取私有大小imageDimension并使用

setAspectRatioTextureVIEw(imageDimension.getHeight(),imageDimension.getWIDth());

并使用以下逻辑

private voID setAspectRatioTextureVIEw(int ResolutionWIDth,int ResolutionHeight )    {        if(ResolutionWIDth > ResolutionHeight){            int newWIDth = DSI_wIDth;            int newHeight = ((DSI_wIDth * ResolutionWIDth)/ResolutionHeight);            updateTextureVIEwSize(newWIDth,newHeight);        }else {            int newWIDth = DSI_wIDth;            int newHeight = ((DSI_wIDth * ResolutionHeight)/ResolutionWIDth);            updateTextureVIEwSize(newWIDth,newHeight);        }    }    private voID updateTextureVIEwSize(int vIEwWIDth,int vIEwHeight) {        Log.d(TAG,"TextureVIEw WIDth : " + vIEwWIDth + " TextureVIEw Height : " + vIEwHeight);        textureVIEw.setLayoutParams(new FrameLayout.LayoutParams(vIEwWIDth,vIEwHeight));    }
总结

以上是内存溢出为你收集整理的Android Camera 2预览尺寸和设备纵横比全部内容,希望文章能够帮你解决Android Camera 2预览尺寸和设备纵横比所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1136872.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存