`
大头K
  • 浏览: 185992 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

解决部分android手机照片被系统自动旋转

阅读更多
使用某星手机有为应用的图库添加图片时,发现照片已被旋转,APP没有做任何处理,因此肯定是手机在拍照保存的时候做的手脚。

1、调用方法
int degree = ImageUtil.getBitmapDegree(imageInfo.getImgSourcePath());
			
if(0 != degree)
	ImageUtil.rotateBitmapByDegree(arg2, degree);


2.具体代码
    /**
     * 读取图片的旋转的角度
     *
     * @param path
     *            图片绝对路径
     * @return 图片的旋转角度
     */
    public static int getBitmapDegree(String path) {
        int degree = 0;
        try {
            // 从指定路径下读取图片,并获取其EXIF信息
            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;
    }
    
    /**
     * 将图片按照某个角度进行旋转
     *
     * @param bm
     *            需要旋转的图片
     * @param degree
     *            旋转角度
     * @return 旋转后的图片
     */
    public static Bitmap rotateBitmapByDegree(Bitmap bm, int degree) {
        Bitmap returnBm = null;
      
        // 根据旋转角度,生成旋转矩阵
        Matrix matrix = new Matrix();
        matrix.postRotate(degree);
        try {
            // 将原始图片按照旋转矩阵进行旋转,并得到新的图片
            returnBm = Bitmap.createBitmap(bm, 0, 0, bm.getWidth(), bm.getHeight(), matrix, true);
        } catch (OutOfMemoryError e) {
        }
        if (returnBm == null) {
            returnBm = bm;
        }
        if (bm != returnBm) {
            bm.recycle();
            bm = null;
        }
        return returnBm;
    }
0
0
分享到:
评论

相关推荐

    Android部分手机拍照后获取的图片被旋转问题的解决方法

    调用Android系统拍照功能后,三星手机拍摄后的照片被旋转了90度,横着拍给你变成竖的,竖的拍给你变成横的。其它品牌的手机都是正常的,就三星出现这个怪事。 在Android适配上,我原来一直以为国内的小米手机够奇葩...

    新版Android开发教程.rar

    � GPS 卫星导航功能,手机照相, MP3 ,蓝芽等均被列为 Android 所提供支持的基本选项。 � Android 的平台基本上是免费的,虽然有部份原生链接库会要求费用,但大部份是免权利金; Android 的 程序可以采用 JAVA ...

    一种基于Android平台的智能花盆设计.pdf

    系统主要由两大部分构成:检测控制硬件模块和智能手机应用程序(APP)软件模块。 硬件模块主要由以下几个部分组成: 1. **单片机**:作为系统的控制中心,STC89C52 单片机负责读取传感器数据,控制电机和水泵,实现...

    基于Android平台的电子相册设计与实现(格式修改后).docx

    随着智能手机的普及和技术的发展,Android平台已经成为最受欢迎的移动操作系统之一。本文档探讨的是一个基于Android平台的电子相册的设计与实现。 ##### 1.1 目前现状 当前,智能手机几乎人手一部,成为人们生活中...

    A simple Android OCR application that makes use of the Camera app

    这个项目是一个基于Android平台的简单OCR(Optical Character Recognition,光学字符识别)应用程序,它整合了Android系统的内置相机功能,让用户能够通过手机摄像头捕获图像并识别其中的文本。OCR技术的主要目标是...

    JS解决IOS中拍照图片预览旋转90度BUG的问题

    这个问题并不是普遍存在于所有设备上,主要出现在iOS和某些特定的三星手机中,而大部分Android设备并不受此问题影响。解决这个“图片预览旋转90度”的bug需要理解其根本原因并采用特定的技术手段。 首先,我们需要...

    全景大师使用手册.pdf

    全景大师软件是一款专业的全景影像制作和展示平台,它能够将一系列普通的全景照片制作成完整的全景展示系统,并生成的展示项目可以在多种设备上独立运行,例如iPhone、iPad、Android手机和平板电脑、苹果电脑和各种...

    自定义相册

    "自定义相册"项目就是针对这一需求,提供了一个全面且灵活的解决方案,允许用户自由展示、选择、裁剪手机中的图片,并且在拍照时能自动创建图片目录。下面,我们将深入探讨这个项目的关键知识点。 首先,**图片展示...

    电信设备-查看图片的方法及移动终端.zip

    2. 图片应用:移动设备通常预装有图片查看器应用,如Android的“图库”或iOS的“照片”。用户可以通过这些应用浏览和查看存储的图片。 3. 打开图片:打开图片应用后,系统会自动扫描并列出所有可用的图片。用户可以...

Global site tag (gtag.js) - Google Analytics