当前位置: 首页 > news >正文

byte[] 转换为图片并保存

    camera!!.takePicture(null, null, { res: ByteArray, camera: Camera ->
//                    var bitmap = ImageUtils.compressByQuality(BitmapFactory.decodeByteArray(res, 0, res.size), 50)
                     //转换为bitmap对象
                    var bitmap = BitmapFactory.decodeByteArray(res, 0, res.size)
                    //设置图片旋转角度
                    val matrix = Matrix()
                    matrix.setRotate(-90F)
                    /*---------------------*/
                    //var ddd= getExternalCacheDir()+""              //  /data/user/0/com.bkcity.rubbish/cache
                    //文件夹路径 ----> 照片存放的目录
                    var folder =  File("${Environment.getExternalStorageDirectory()}/DCIM/camera");
                    //文件夹路径 ----> 如果不存在 则创建此目录
                    if (!folder.exists()) {
                        folder.mkdir();
                    }
                    //创建文件
                    var mFileJpg= File(folder.absoluteFile,   "${System.currentTimeMillis()}.jpg");
                    bitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.width, bitmap.height,matrix,true);
                    //写入到目录地址并压缩
                    var fos=FileOutputStream(mFileJpg);
                    bitmap.compress(Bitmap.CompressFormat.JPEG, 50, fos);
                    fos.close();
                    //通知相册更新
                    var intent =Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
                    var uri  = Uri.fromFile(mFileJpg);
                    intent.data = uri
                    sendBroadcast(intent);

                    Handler().post {
                        getCosSign(mFileJpg.absolutePath)
                    }

                })

相关文章:

  • opencv中直方图和颜色跟踪相关:calcHist, calcBackProject, Meanshift和Camshift
  • 敏感词过滤实践
  • 【面试题】公平锁和非公平锁/可重入锁
  • 【字体转换】快速实现繁简字体相互转换
  • Jeecg Online代码生成器--单表代码生成
  • 获取一个实时走动的时间
  • 现货黄金的收益怎么样
  • BLE广播事件包解析空口事例
  • 入行数据分析要知道什么是正态分布和其他变量分布
  • 【web-攻击本地编译性应用程序】(11.3)格式化字符串漏洞
  • 安装redis过程中make报错
  • 商城模板_商城模板网站html5_微信小程序商城模板
  • springboot基于VUE框架的商城综合项目设计与实现毕业设计源码111612
  • java.net.UnknownHostException: home
  • 高等数学(第七版)同济大学 习题6-3 个人解答
  • Java编程基础24——递归练习
  • JS 面试题总结
  • JS笔记四:作用域、变量(函数)提升
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • Laravel核心解读--Facades
  • PHP 的 SAPI 是个什么东西
  • vagrant 添加本地 box 安装 laravel homestead
  • ViewService——一种保证客户端与服务端同步的方法
  • 前端学习笔记之观察者模式
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 移动端 h5开发相关内容总结(三)
  • 浅谈sql中的in与not in,exists与not exists的区别
  • 我们雇佣了一只大猴子...
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • (09)Hive——CTE 公共表达式
  • (3)nginx 配置(nginx.conf)
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (办公)springboot配置aop处理请求.
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (附源码)ssm码农论坛 毕业设计 231126
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (一)Neo4j下载安装以及初次使用
  • (转) RFS+AutoItLibrary测试web对话框
  • (转)visual stdio 书签功能介绍
  • *1 计算机基础和操作系统基础及几大协议
  • .NET CF命令行调试器MDbg入门(一)
  • .NET 使用配置文件
  • .NET 应用架构指导 V2 学习笔记(一) 软件架构的关键原则
  • .Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化
  • .NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试
  • .net获取当前url各种属性(文件名、参数、域名 等)的方法
  • .stream().map与.stream().flatMap的使用
  • @Autowired自动装配
  • @SuppressWarnings注解
  • [ C++ ] STL---stack与queue
  • [100天算法】-每个元音包含偶数次的最长子字符串(day 53)
  • [1181]linux两台服务器之间传输文件和文件夹
  • [8-27]正则表达式、扩展表达式以及相关实战
  • [AR]Vumark(下一代条形码)
  • [C语言][C++][时间复杂度详解分析]二分查找——杨氏矩阵查找数字详解!!!