miui 10.2.2 或以上的小米手機(jī)上照片旋轉(zhuǎn)問題及解決

問題描述

  • 在miui10.2.2 或以上的小米手機(jī)上出現(xiàn)的問題:調(diào)用手機(jī)相冊(cè)選取使用手機(jī)拍攝的照片時(shí),對(duì)照片進(jìn)行壓縮處理后圖片會(huì)出現(xiàn)旋轉(zhuǎn)。

解決方法:

  • 然后獲取到旋轉(zhuǎn)的角度,然后將圖片旋轉(zhuǎn)回來。

    1. 獲取照片旋轉(zhuǎn)角度,代碼如下:
     public static int readPicDegree(String fileName) {
        int rotate = 0;
        try {
            ExifInterface exifInterface = new ExifInterface(fileName);
            int result = exifInterface.getAttributeInt(ExifInterface.TAG_ORIENTATION,
                    ExifInterface.ORIENTATION_UNDEFINED);
            switch (result) {
                case ExifInterface.ORIENTATION_ROTATE_90:
                    rotate = 90;
                    break;
                case ExifInterface.ORIENTATION_ROTATE_180:
                    rotate = 180;
                    break;
                case ExifInterface.ORIENTATION_ROTATE_270:
                    rotate = 270;
                    break;
                default:
                    break;
            }
        } catch (Exception e) {
        }
        return rotate;
    }
    
    1. 對(duì)圖片進(jìn)行旋轉(zhuǎn)處理,代碼如下:
      public static Bitmap rotatePic(String fileName) {
        Bitmap bitmap = BitmapFactory.decodeFile(fileName);
        int width = bitmap.getWidth();
        int height = bitmap.getHeight();
        Matrix matrix = new Matrix();
        matrix.postRotate(readPicDegree(fileName));
        bitmap = Bitmap.createBitmap(bitmap, 0, 0, width, height, matrix, true);
        return bitmap;
    }
    

    有些手機(jī)手機(jī)拍照之后也會(huì)發(fā)生旋轉(zhuǎn),也可以使用該方法進(jìn)行處理

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容