zoukankan      html  css  js  c++  java
  • Android 图片旋转

    拍照后的照片有时被系统旋转,纠正步骤如下:

    1.先读取图片文件被旋转的角度:

    /**
         * 通过ExifInterface类读取图片文件的被旋转角度
         * @param path : 图片文件的路径
         * @return 图片文件的被旋转角度
         */
        public static int readPicDegree(String path) {
            int degree = 0;
    
            // 读取图片文件信息的类ExifInterface
            ExifInterface exif = null;
            try {
                exif = new ExifInterface(path);
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
    
            if (exif != null) {
                int orientation = exif.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;
                }
            }
    
            return degree;
        }

    2.再将上述角度作为参数,传递给下面函数纠正:

        /**
         * 将图片纠正到正确方向
         * 
         * @param degree : 图片被系统旋转的角度
         * @param bitmap : 需纠正方向的图片
         * @return 纠向后的图片
         */
        public static Bitmap rotateBitmap(int degree, Bitmap bitmap) {
            Matrix matrix = new Matrix();
            matrix.postRotate(degree);
    
            Bitmap bm = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(),
                    bitmap.getHeight(), matrix, true);
            return bm;
        }
  • 相关阅读:
    B/S学习总结
    鶴山 李正浩 博士(探访墓所)
    毕业工作五年的总结和感悟(上)
    NSURLConnection经常使用的代理方法
    14.2 事务的ACID属性
    Search a 2D Matrix -- LeetCode
    ios开发之-继承的实现运用
    【Android】读取sdcard上的图片
    BZOJ 2820 YY的GCD 莫比乌斯反演
    linux写环境变量对字符转义
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/4206125.html
Copyright © 2011-2022 走看看