参考链接:https://blog.csdn.net/fang410103/article/details/84974789

这个好像也可以:https://blog.csdn.net/qiguangyaolove/article/details/53130061

public static Bitmap getBitMap(byte[] data, Camera camera, boolean mIsFrontalCamera) {int width = camera.getParameters().getPreviewSize().width;int height = camera.getParameters().getPreviewSize().height;YuvImage yuvImage = new YuvImage(data, camera.getParameters().getPreviewFormat(), width, height, null);ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();yuvImage.compressToJpeg(new Rect(0, 0, width, height), 80,byteArrayOutputStream);byte[] jpegData = byteArrayOutputStream.toByteArray();// 获取照相后的bitmapBitmap tmpBitmap = BitmapFactory.decodeByteArray(jpegData, 0,jpegData.length);Matrix matrix = new Matrix();matrix.reset();if (mIsFrontalCamera) {matrix.setRotate(-90);} else {matrix.setRotate(90);}tmpBitmap = Bitmap.createBitmap(tmpBitmap, 0, 0, tmpBitmap.getWidth(),tmpBitmap.getHeight(), matrix, true);tmpBitmap = tmpBitmap.copy(Bitmap.Config.ARGB_8888, true);int hight = tmpBitmap.getHeight() > tmpBitmap.getWidth() ? tmpBitmap.getHeight() : tmpBitmap.getWidth();float scale = hight / 800.0f;if (scale > 1) {tmpBitmap = Bitmap.createScaledBitmap(tmpBitmap,(int) (tmpBitmap.getWidth() / scale),(int) (tmpBitmap.getHeight() / scale), false);}return tmpBitmap;}
方法二、private RenderScript rs;private ScriptIntrinsicYuvToRGB yuvToRgbIntrinsic;private Type.Builder yuvType, rgbaType;private Allocation in, out;rs = RenderScript.create(this);yuvToRgbIntrinsic = ScriptIntrinsicYuvToRGB.create(rs, Element.U8_4(rs));@Overridepublic void onPreviewFrame(byte[] data, Camera camera) {if (yuvType == null) {yuvType = new Type.Builder(rs, Element.U8(rs)).setX(data.length);in = Allocation.createTyped(rs, yuvType.create(), Allocation.USAGE_SCRIPT);rgbaType = new Type.Builder(rs, Element.RGBA_8888(rs)).setX(640).setY(480);out = Allocation.createTyped(rs, rgbaType.create(), Allocation.USAGE_SCRIPT);}in.copyFrom(data);yuvToRgbIntrinsic.setInput(in);yuvToRgbIntrinsic.forEach(out);gBitmap = Bitmap.createBitmap(640, 480, Bitmap.Config.ARGB_8888);out.copyTo(gBitmap);}

最后啊,好习惯,记得bitmap要及时回收哈

安卓摄像头 data 转bitmap相关推荐

  1. C#_摄像头图像转换为Bitmap格式及绘制十字线

    之前MFC的是用的OpenCV画线然后显示到控件的方式,C#下使用OpenCV还没研究过,不过参考把图像转换成Bitmap格式然后画线的方式也可以实现 using System; using Syst ...

  2. 蹒跚学步之调用安卓摄像头并发送数据

    今天学习一下安卓,想调一下摄像头,拍张照片,转为Base64编码,再输入一些文本,然后发送给后台,类似: { "text":"xxx", "pics& ...

  3. Unity3D:调用安卓摄像头拍照

    操作步骤:创建脚步并挂载到Main Camera上 仍未解决的问题:导入到安卓平台测试时,拍照按钮不能随着屏幕旋转而变换位置: 拍照时会把拍照按钮也截进去. using UnityEngine; us ...

  4. android手机摄像头传输,以TCP Socket方式实现安卓摄像头数据的传输

    前言 上一篇文章中我们使用了浏览器的HTTP SERVER PUSH功能,效果还行吧,不过用户体验上要差一些,因此我在这篇文章中将介绍直接通过Socket发送图片数据,然后客户端解析数据后直接展示的功 ...

  5. Android:安卓学习笔记之Bitmap的简单理解和使用

    Android Bitmap的简单理解和使用 Android Bitmap 一.Bitmap的定义 二.Bitmap的格式 2.1 存储格式 2.2 压缩格式 三.Bitmap创建方法 3.1 Bit ...

  6. java手机av_ffmpeg综合应用示例(三)——安卓手机摄像头编码

    /** * 基于FFmpeg安卓摄像头编码 * FFmpeg Android Camera Encoder * * 张晖 Hui Zhang * zhanghuicuc@gmail.com * 中国传 ...

  7. ffmpeg综合应用示例(三)——安卓手机摄像头编码

    本文的示例将实现:读取安卓手机摄像头数据并使用H.264编码格式实时编码保存为flv文件.示例包含了 1.编译适用于安卓平台的ffmpeg库 2.在java中通过JNI使用ffmpeg 3.读取安卓摄 ...

  8. 安卓调用系统拍照功能:1、启动拍照返回图片,2、启动拍照,图片存储在指定路径下

    全栈工程师开发手册 (作者:栾鹏) 安卓教程全解 安卓调用系统拍照功能,两种方式获取拍摄的照片. 1.启动系统拍照intent,并直接返回图片数据 2.启动系统拍照intent,拍照后存储在指定的路径 ...

  9. android 特效相机实现,安卓特效相机(三) OpenGL ES 特效渲染

    系列文章: 特效的实现原理 接下来这篇文章我们讲下特效的具体实现原理. 由于预览画面的渲染是将Surface传给CameraDevice由它去绘制的,而且我没有找到什么可以接管或者添加渲染效果的接口, ...

最新文章

  1. Cocoon的sitemap详解
  2. 听易中天品三国---看孔融,杨修之死
  3. MyBatis 流式查询
  4. Java黑皮书课后题第5章:5.10(找出能被5和6整除的数)编写程序,显示从100到1000之间所有能被5和6整除的数,每行显示10个。数字之间用一个空格字符隔开
  5. 七、线性表的链式存储结构
  6. 面向对象—的__new__()方法详解
  7. 如何理解高并发中的协程?协程的实现和历史
  8. python描述符魔术方法_Python类型转换的魔术方法详解
  9. IKM 线上测试JavaScript
  10. 001:InVEST学习——产水/水源涵养
  11. 扩展有限元程序matlab,Abaqus中扩展有限元(XFEM)功能简介
  12. python 水位流量关系曲线_水位流量关系曲线的绘制方法
  13. 3d建模公司可视化建模数字孪生应用
  14. 3.3.2 WTL应用向导安装和项目建立
  15. Flask:工厂函数和蓝本
  16. 关于四叶玫瑰花数的问题
  17. Python学习之路:关于列表(List)复制的那点事
  18. 赚翻了,快速带你学会Python爬虫接私单
  19. 正则表达式与JSON
  20. 作文:The Harm of Divorce

热门文章

  1. fork()子进程与父进程之间的文件描述符问题
  2. Linux Kernel Namespace实现: namespace API介绍
  3. SQL How to get the current day month and year
  4. 运行python程序ModuleNotFoundError?pip下载速度太慢?
  5. 计算机技术应用及信息管理,计算机应用技术与信息管理整合研究(共2808字).doc...
  6. 部署go的web应用_使用Docker部署Go Web应用
  7. cii框架PHP,CII. POSIX Functions - PHP 5 中文文档
  8. 怎么选?阿里P7 or 副处级干部?
  9. SDK 和 API 的区别是什么
  10. Java 实现滑动时间窗口限流算法,你见过吗?