Android 8.0版本調用拍照或系統圖片出現旋轉問題

調用Android系統拍照功能後,三星手機(還有小米8,目前發現這兩個機型)拍攝後的照片被旋轉了90度,橫着拍給你變成豎的,豎的拍給你變成橫的。其它品牌的手機都是正常的,就三星出現這個怪事。

在Android適配上,我原來一直以爲國內的小米手機夠奇葩了,結果還有更奇葩的!你說你沒事旋轉照片幹啥,實在是猜不透其居心何在,純粹是在給開發者製造麻煩啊!

解決辦法是獲取到拍照後照片被旋轉的角度,再旋轉回去就好了。

解決步驟1.獲取到圖片內部旋轉的度數

   //獲取圖片的旋轉角度
    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;
    }
解決步驟2:根據圖片的旋轉度數旋轉回來就行了

 /**
     * 旋轉圖片
     *
     * @param angle
     * @param bitmap
     * @return Bitmap
     */
    public static Bitmap rotaingImageView(int angle, Bitmap bitmap) {
            //旋轉圖片 動作
            Matrix matrix = new Matrix();
            matrix.postRotate(angle);
            // 創建新的圖片
            Bitmap resizedBitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true);
            return resizedBitmap;
    }
--------------------- 
作者:丶Night丶 
來源:CSDN 
原文:https://blog.csdn.net/qq_36488374/article/details/81068046 
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章