OpenGLES的简单应用绘图,以及照相机画面变色变形渲染(六)
来源:互联网 发布:js encode 编辑:程序博客网 时间:2024/06/13 09:04
基础6——相机预览(常用方法简介)
android开发中的相机预览有无数种方法,所有没有用到OpenGLES和GLSurfaceView的方法,基本都是消耗CPU资源的,当一部手机的CPU不够强大,很可能造成卡顿等现象,也就是会让用户体验很差。
在相机开发过程中,一般来说拍照、保存图片,就达成了它的使命,不过在将来的发展过程中,相机往往不再仅仅是拍照功能,还有一些比如说滤镜、修图、识别等功能,如果双镜头头戴设备,还可以往AI或VR设备发展。
但这些强大的功能,在android这种小型移动平台中,如果占用了CPU资源,后果可想而知,所以不容分说,一定直接调用GPU资源来做。
在没有接触相机预览渲染之前,单纯的预览、拍照、保存图片,提供一下一些常用方法(代码简写,靠记忆写的,想知道详细步骤可以自行去百度查),获取到帧数据可以对帧数据进行操作:
1、如果用SurfaceView的话
implements SurfaceHolder.Callback
重写:
SurfaceCreated\SurfaceChanged\SurfaceDestroyed三个方法
相机帧数据获取:
Camera.PreviewCallback实现后,重写的方法onPreviewFrame中的byte[] data参数即为帧数据
绑定相机方法:
mCamera.setPreviewDisplay(mSurfaceView)
2、如果用TextureView的话
implements TextureView.SurfaceTextureListener
重写:
onSurfaceTextureAvailable\onSurfaceTextureSizeChanged\onSurfaceTextureUpdated\onSurfaceTextureDestroyed
相机帧数据获取:
同上一个方法
绑定相机方法:
mCamera.setPreviewTexture(mSurfaceTexture)
当然,以上是一些常用的方法,接下来来介绍GLSurfaceView配合OpenGLES进行相机预览
上一节
下一节
0 0
- OpenGLES的简单应用绘图,以及照相机画面变色变形渲染(六)
- OpenGLES的简单应用绘图,以及照相机画面变色变形渲染(一)
- OpenGLES的简单应用绘图,以及照相机画面变色变形渲染(二)
- OpenGLES的简单应用绘图,以及照相机画面变色变形渲染(三)
- OpenGLES的简单应用绘图,以及照相机画面变色变形渲染(四)
- OpenGLES的简单应用绘图,以及照相机画面变色变形渲染(五)
- OpenGLES的简单应用绘图,以及照相机画面变色变形渲染(七)
- OpenGLES的简单应用绘图,以及照相机画面变色变形渲染(八)
- opengles的渲染管线
- opengles绘图(3)
- Canvas基础4-绘图的简单变形
- 游戏开发笔记之六——游戏画面绘图(三)透明特效的制作方法
- iOS中滤镜的使用(三)OpenGLES渲染
- Opengles绘图
- 【Visual C++】游戏开发笔记之六——游戏画面绘图(三)透明特效的制作方法
- 【Visual C++】游戏开发笔记之六——游戏画面绘图(三)透明特效的制作方法
- 【Visual C++】游戏开发笔记之六——游戏画面绘图(三)透明特效的制作方法
- 【Visual C++】游戏开发笔记之六——游戏画面绘图(三)透明特效的制作方法
- 1011. A+B和C (15)
- 程序员的思考
- LeetCode 61. Rotate List
- 字符集与编码二之编号 vs 编码
- reactNative react.children.only expected to receive a single react element child.问题
- OpenGLES的简单应用绘图,以及照相机画面变色变形渲染(六)
- centos7中安装redis
- bzoj 4006: [JLOI2015]管道连接 斯坦纳树
- 字符串扩展
- 安安日志app-技术支持
- Softwarenetz.LogBook.v1.20.Multilingual.
- 项目使用jspatch在线修复的一些心得
- ACM 两点距离
- 正圆的居中嵌套