Android 开发手机(三星)拍照应用照片旋转问题解决办法

发布时间 - 2026-01-11 00:54:23    点击率:

Android 开发手机(三星)拍照应用照片旋转问题解决办法

最近解决了一个令我头疼好久的问题,就是三星手机拍照图片旋转的问题,项目中有上传图片的功能,那么涉及到拍照,从相册中选择图片,别的手机都ok没有问题,唯独三星的手机拍照之后,你会很清楚的看到会把照片旋转一下,然后你根据路径找到的图片就是已经被旋转的了,解决办法终于被我找到了。我们可以根据图片的路径读取照片exif(Exchangeable Image File 可交换图像文件)信息中的旋转角度

根据调试,可以清楚的发现三星手机拍照的图片的旋转角度是90度,而别的手机旋转角度是0度

看一下代码:

/** 
   * 读取照片exif信息中的旋转角度 
   * @param path 照片路径 
   * @return角度 
   */ 
  public static int readPictureDegree(String path) { 
    int degree = 0; 
    try { 
      ExifInterface exifInterface = new ExifInterface(path); 
      int orientation = exifInterface.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_NORMAL); 
      switch (orientation) { 
        case ExifInterface.ORIENTATION_ROTATE_90: 
          degree = 90; 
          break; 
        case ExifInterface.ORIENTATION_ROTATE_180: 
          degree = 180; 
          break; 
        case ExifInterface.ORIENTATION_ROTATE_270: 
          degree = 270; 
          break; 
      } 
    } catch (IOException e) { 
      e.printStackTrace(); 
    } 
    return degree; 
  } 

那么我们只需要根据旋转角度将图片旋转过来就OK了

public static Bitmap toturn(Bitmap img){ 
    Matrix matrix = new Matrix(); 
    matrix.postRotate(+90); /*翻转90度*/ 
    int width = img.getWidth(); 
    int height =img.getHeight(); 
    img = Bitmap.createBitmap(img, 0, 0, width, height, matrix, true); 
    return img; 
} 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# Android  # 拍照照片旋转问题  # 照片旋转  # Android仿微信单击拍照长按录像功能实例代码  # Android实现拍照及图片显示效果  # Android获取本地相册图片和拍照获取图片的实现方法  # Android SurfaceView拍照录像实现方法  # Android 7.0中拍照和图片裁剪适配的问题详解  # Android调用系统拍照裁剪图片模糊的解决方法  # Android 拍照功能实现(手机关闭依然拍照)详解及实例代码  # 手机拍照  # 解决办法  # 你会  # 中有  # 希望能  # 只需要  # 很清楚  # 会把  # 令我  # 看一下  # 涉及到  # 谢谢大家  # 我找  # 可以根据  # 上传图片  # 解决了  # 可交换  # int  # java  # brush 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 三星网站视频制作教程下载,三星w23网页如何全屏?  JavaScript模板引擎Template.js使用详解  Laravel如何操作JSON类型的数据库字段?(Eloquent示例)  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  高端建站三要素:定制模板、企业官网与响应式设计优化  高防服务器如何保障网站安全无虞?  作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】  Python结构化数据采集_字段抽取解析【教程】  七夕网站制作视频,七夕大促活动怎么报名?  详解Android图表 MPAndroidChart折线图  如何在阿里云ECS服务器部署织梦CMS网站?  如何用已有域名快速搭建网站?  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  详解CentOS6.5 安装 MySQL5.1.71的方法  javascript事件捕获机制【深入分析IE和DOM中的事件模型】  深入理解Android中的xmlns:tools属性  Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】  Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比  Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用  如何用PHP快速搭建CMS系统?  laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法  如何在不使用负向后查找的情况下匹配特定条件前的换行符  零服务器AI建站解决方案:快速部署与云端平台低成本实践  如何快速搭建高效香港服务器网站?  如何做网站制作流程,*游戏网站怎么搭建?  Laravel如何创建自定义中间件?(Middleware代码示例)  Laravel distinct去重查询_Laravel Eloquent去重方法  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  Laravel怎么导出Excel文件_Laravel Excel插件使用教程  Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】  Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  网站制作软件有哪些,制图软件有哪些?  香港服务器网站卡顿?如何解决网络延迟与负载问题?  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  Laravel如何实现文件上传和存储?(本地与S3配置)  Android实现代码画虚线边框背景效果  如何快速搭建自助建站会员专属系统?  Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】  Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用  Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】  nodejs redis 发布订阅机制封装实现方法及实例代码  Laravel Admin后台管理框架推荐_Laravel快速开发后台工具  如何快速查询域名建站关键信息?  Python面向对象测试方法_mock解析【教程】  Python制作简易注册登录系统  Laravel怎么解决跨域问题_Laravel配置CORS跨域访问  如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环  如何用PHP工具快速搭建高效网站?