Android相机第四篇:TextureView使用

Android相机第四篇:TextureView使⽤
我在第三篇⽂章介绍Camera对象时就说到,⽬前拍照涉及到的预览界⾯主要有两种:TextureView和SurfaceView,本章的重点时对TextureView进⾏分析,结合Camera对象开始⾃定义相机。
⾸先展⽰下效果:微波感应模块
纱窗角码
166.gif
SurfaceTextureListener说明
SurfaceTextureListener是TextureView⾮常重要的监听回调,也可以说SurfaceTextureListener是`TextureView的⽣命周期的体现
非标夹具parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
//获取最适合的分辨率
溶洞处理Camera.Size previewSize = SupportedPreviewSizes(), width, height);            parameters.setPreviewSize(previewSize.width, previewSize.height);
//获取最适合的分辨率
Camera.Size pictureSize = SupportedPictureSizes(), width, height);            parameters.setPictureSize(pictureSize.width, pictureSize.height);
//设置拍照之后,本地图⽚格式
parameters.setPictureFormat(ImageFormat.JPEG);
//拍照后的图⽚⽂件旋转90度
parameters.setRotation(90);
mCamera.setParameters(parameters);
//将相机的预览效果显⽰出来
mCamera.setPreviewTexture(surface);
//开启预览
mCamera.startPreview();
} catch (IOException e) {
dota重金属
e.printStackTrace();
}
}
/**
* 获取最合适的Size
* @param sizeList
* @param width
* @param height
* @return
*/
private Camera.Size getCameraSize(List<Camera.Size> sizeList, int width, int height){
Camera.Size tempSize = null;
float aspectRatio = height * 1.0f / width;//求出预期横宽⽐
float offset = aspectRatio;//预期横宽⽐和实际横宽⽐误差
for(Camera.Size size : sizeList){
if(size.width < height || size.height < width){
continue;
}
//误差最⼩值
if(Math.abs(aspectRatio - size.width * 1.0f / size.height) < offset){
offset = Math.abs(aspectRatio - size.width * 1.0f / size.height);
tempSize = size;
}
}
if(tempSize == null){
tempSize = (0);
鬼屋道具
}
return tempSize;
}
@Override
public void onSurfaceTextureSizeChanged(SurfaceTexture surface, int width, int height) {
//监听布局变化时执⾏
}
@Override
public boolean onSurfaceTextureDestroyed(SurfaceTexture surface) {
if(mCamera != null){
mCamera.stopPreview();
mCamera = null;
}
return true;
}
@Override

本文发布于:2024-09-23 00:27:42,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/307715.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:预览   对象   拍照
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议