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;
        }
  • 相关阅读:
    pyinstaller安装和使用
    django项目结构和运行项目
    安装django and 创建项目
    浅谈网络请求基础(理论篇)
    浅谈爬虫初识
    判断是否AVL平衡二叉书
    用递归方法判断两棵树是否相等
    广度优先搜索求树的深度
    堆排序
    归并排序
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/4206125.html
Copyright © 2011-2022 走看看