iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android Camera2 中对拍照的照片进行左右镜像
  • 266
分享到

Android Camera2 中对拍照的照片进行左右镜像

镜像Android 2022-06-06 13:06:52 266人浏览 泡泡鱼
摘要

Android Camera2 中对拍照的照片进行左右镜像 最近移植了android camera驱动增加了新的摄像头支持后,预览和拍照都已经可

Android Camera2 中对拍照的照片进行左右镜像
最近移植了android camera驱动增加了新的摄像头支持后,预览和拍照都已经可以,但发现拍照出来的照片左右镜像了,本来在hal层找到了简单方法,jpeg硬件合成可以直接有参数设置图片镜像,但修改后发现图片是镜像过来了,但是有问题(照片放大后很模糊),应该是jpeg硬件合成进行镜像会有bug,不镜像照片是正常的。那唯有在APP应用中做镜像了,在网上查阅了很多操作,但直接按照所说去修改后发现没有效果,以为matrix操作不起作用,但后来发现,对bitmap进行matrix转换后并没有把转换后的byte数据用于生成最终的图片,还是用了原始的jpegdata,因此拍照的图片没有变换,经过以下操作后,照片终于可以镜像过来,因此在此记录下:

在photoModule.java中 的void saveFinalPhoto( byte[] jpegData, NamedEntity
name, final ExifInterface exif,
CameraProxy camera)

Bitmap bitmap = CameraUtil.makeBitmap(jpegData, exifWidth*exifHeight);//jpeg byte 数组转换为bitmap
Matrix m = new Matrix();
m.postScale(1, -1);//利用matrix 对矩阵进行转换,y轴镜像
// m.postTranslate(bitmap.getWidth(), 0);
bitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), m, true);//m转换传入bitmap
ByteArrayOutputStream baos = new ByteArrayOutputStream();//以下再次把bitmap转换为byte 数组,
bitmap.compress(Bitmap.CompressFORMat.JPEG, 100, baos);
tm_jpegData = baos.toByteArray();
getServices().getMediaSaver().addImage(
tm_jpegData, title, date, mLocation, width, height,
orientation, exif, mOnMediaSavedListener, mContentResolver);

作者:engine_men


--结束END--

本文标题: Android Camera2 中对拍照的照片进行左右镜像

本文链接: https://www.lsjlt.com/news/28862.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作