您的位置:首页 > 移动开发 > Android开发

关于android中调用系统拍照,返回图片是旋转90度..

2015-12-04 10:13 645 查看
文章转自http://my.oschina.net/techstan/blog/142592

由于项目的需要,没有自定义拍照功能,仅仅调用了系统的拍照程序..但是出现了一个问题,就是拍照完成显示图片居然是被旋转的图片....

解决办法:

/**

     * 读取图片属性:旋转的角度

     * @param path 图片绝对路径

     * @return degree旋转的角度

     */

    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;

    }

   /*

    * 旋转图片 

    * @param angle 

    * @param bitmap 

    * @return Bitmap 

    */ 

   public static Bitmap rotaingImageView(int angle , Bitmap bitmap) {  

       //旋转图片 动作   

       Matrix matrix = new Matrix();;  

       matrix.postRotate(angle);  

       System.out.println("angle2=" + angle);  

       // 创建新的图片   

       Bitmap resizedBitmap = Bitmap.createBitmap(bitmap, 0, 0,  

               bitmap.getWidth(), bitmap.getHeight(), matrix, true);  

       return resizedBitmap;  

   }

OK完成,需要拍照和选择图片功能的部分请看http://104zz.iteye.com/blog/1687662
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  图片旋转