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

 更新时间:2017年04月30日 10:10:52   投稿:lqh  
这篇文章主要介绍了Android 开发手机(三星)拍照应用照片旋转问题解决办法的相关资料,需要的朋友可以参考下

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动画自动播放功能的实现方法与相关注意事项,需要的朋友可以参考下
    2017-07-07
  • Android横竖屏幕切换生命周期详解

    Android横竖屏幕切换生命周期详解

    这篇文章主要为大家详细介绍了Android横竖屏幕切换生命周期,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • Android 实现加载大图片的方法

    Android 实现加载大图片的方法

    对于超大的图片,如果不缩放的话,容易导致内存溢出。而经过处理后,无论多大的图片,都能够在手机屏幕上加载出来,不会导致内存溢出。本文将对Android 加载大图片的实现方法进行介绍,下面跟着小编一起来看下吧
    2017-04-04
  • Android编程实现给Button添加图片和文字的方法

    Android编程实现给Button添加图片和文字的方法

    这篇文章主要介绍了Android编程实现给Button添加图片和文字的方法,涉及Android针对按钮元素属性的相关操作技巧,需要的朋友可以参考下
    2015-11-11
  • Android自定义圆环式进度条

    Android自定义圆环式进度条

    这篇文章主要为大家详细介绍了Android自定义圆环式进度条,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-04-04
  • Android自定义控件之创建可复用的组合控件

    Android自定义控件之创建可复用的组合控件

    这篇文章主要为大家详细介绍了Android自定义控件之创建可复用的组合控件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • Android实现清除单个域名的cookie

    Android实现清除单个域名的cookie

    这篇文章主要介绍了Android实现清除单个域名的cookie,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • Android实现简易闹钟功能

    Android实现简易闹钟功能

    这篇文章主要为大家详细介绍了Android实现简易闹钟功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • Flutter实现可循环轮播图效果

    Flutter实现可循环轮播图效果

    这篇文章主要介绍了Flutter实现可循环轮播图效果,本文图文并茂通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2019-07-07
  • Android开发笔记之Fragment的使用教程

    Android开发笔记之Fragment的使用教程

    我们的Android入门一步步已经进入中级,我们讲完了所有的基本组件的基本使用、Activity、Service、BroadCast,今天我们来介绍一下Fragment的使用教程,需要的朋友可以参考下
    2023-05-05

最新评论