android解决坚屏拍照和保存图片旋转90度的问题,并兼容4.0
发布日期:2021-08-12 01:50:47 浏览次数:5 分类:技术文章

本文共 1879 字,大约阅读时间需要 6 分钟。

 第一步: AndroidManifest.xml 在Activity添加以下一个属性

android:configChanges="orientation|keyboardHidden|screenSize" android:screenOrientation="sensor",为的是能够横竖屏切换不用再次调用onCreate方法,直接调用onConfigurationChanged方法。screenSize是兼容4.0系统的才可以生效,否则方法没效。

第二步,解决竖屏拍照后保存图片会旋转90度的问题。这里我会在onConfigurationChanged方法进行判断当前是横拍还是竖拍,然后在调用相机拍照后,在保存图片的方法里,进行竖拍的照片90度旋转。

     

PictureCallback jpeg = new PictureCallback() {                    @Override          public void onPictureTaken(byte[] data, Camera camera) {              // TODO Auto-generated method stub          	 Bitmap bMap;             try              {// 获得图片              	     	            	        bMap = BitmapFactory.decodeByteArray(data, 0, data.length);      	             	        Bitmap bMapRotate;      	        if (takeType != 0) {  //坚拍    	            Matrix matrix = new Matrix();      	            matrix.reset();      	            matrix.postRotate(90);      	            bMapRotate = Bitmap.createBitmap(bMap, 0, 0, bMap.getWidth(),      	                    bMap.getHeight(), matrix, true);     	            bMap = bMapRotate;    	        }                     // Bitmap bm = BitmapFactory.decodeByteArray(data, 0, data.length);              File file = new File(filePath);              BufferedOutputStream bos =                  new BufferedOutputStream(new FileOutputStream(file));              bMap.compress(Bitmap.CompressFormat.JPEG, 100, bos);//将图片压缩到流中              bos.flush();//输出              bos.close();//关闭              }catch(Exception e)              {                  e.printStackTrace();              }                        }      };

  关键代码是以上。

 

 当用竖拍转横拍,还是横拍转竖拍,都要先在surfaceChanged方法,停止预览相机,重新设置下摄像头就不会再出现90度旋转。

  

转载于:https://www.cnblogs.com/andgoo/archive/2012/08/29/2661896.html

转载地址:https://blog.csdn.net/weixin_30642305/article/details/96005151 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Spring Boot中启动HTTPS
下一篇:Qt学习(8)

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年03月14日 20时57分22秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

gnome mysql client_解决MySQLWorkbenchgnome-keyring-daemon错误的方法分享 2019-04-21
java线程占用CPU_在windows下揪出java程序占用cpu很高的线程并完美解决 2019-04-21
java多态替换switch_使多态性无法解决那些switch / case语句的麻烦 2019-04-21
java httpclient 进度条_如何使用Apache HttpClient 4获取文件上传的进度条? 2019-04-21
下列不属于java语言特点的是_下列选项中,不属于Java语言特点的一项是( )。... 2019-04-21
java中小数的乘法_javascript的小数点乘法除法实例 2019-04-21
kappa一致性检验教程_SPSS在线_SPSSAU_Kappa一致性检验 2019-04-21
linux shell mysql备份_linux shell 备份mysql 数据库 2019-04-21
Java双向链表时间复杂度_链表是什么?有多少种链表?时间复杂度是? 2019-04-21
unity3d能和java系统整合吗_Android与Unity3d的整合 2019-04-21
minecraft666java_我的世界的666的世界 2019-04-21
辽宁师范大学java_辽宁师范大学心理学院 2019-04-21
java程序有连接数据库_Java程序连接数据库 2019-04-21
java reduce.mdn_reduce高级用法 2019-04-21
java shape用法_Java PShape.scale方法代码示例 2019-04-21
java字符串三目_java字符串连接运算符和三目运算符 2019-04-21
java 堆内存 非堆内存_JVM 堆内存和非堆内存 2019-04-21
Java新手写什么demo_通过入门demo简单了解netty使用方法 2019-04-21
java国际化bundle_java语言国际化--ResouceBundle、struts 2019-04-21
java图片延迟加载_jQuery实现图片延迟加载 2019-04-21