안드로이드 사진 회전 문제

안드로이드 시스템에서는 때때로 시스템 카메라를 호출하여 사진을 찍는 수요를 만날 수 있다. 그러나 사진을 찍고 나면 자주 문제가 생긴다. 사진 자체가 어느 정도 각도를 돌았다는 것이다. 내가 방금 만났던 삼성 핸드폰으로 말하자면 사진이 자동으로 왼쪽으로 90도 돌았다는 것은 서글프다. 왜냐하면 그 전에 어느 정도 알고 있었기 때문이다.그래서 해결하기도 비교적 쉽다. 전체적인 사고방식은 먼저 사진을 몇 도 돌렸는지, 그리고...돌려줘...시간에 제한이 있으니 먼저 핵심 코드를 붙여라.
4
/**
     *           --EricTang
     *
     * @param path      
     * @return degree        
     */
    public static int readImageDegree(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 ex) {
            Log.d("                 ", "----" + ex.getMessage());
            ex.printStackTrace();
        }
        return degree;
    }

    /**
     *       --EricTang
     *
     * @param angle        
     * @param bitmap     bitmap  ,      bitmap
     * @return    bitmap  
     */
    public static Bitmap rotateBitmap(int angle, Bitmap bitmap) {
        //    
        Matrix matrix = new Matrix();
        matrix.postRotate(angle);
        Log.d("        ", "--" + angle);
        //     
        Bitmap resizedBitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true);
        return resizedBitmap;
    }
ExifInterface와 같은 종류는 안드로이드에 위치한다.Media 아래 그림을 얻는 데 사용되는 Exif 정보입니다. 더 많은 학우들이 이 방법을 어떻게 사용하는지 알고 싶으면 비트맵을 사용할 학우들이 모두 사용할 것입니다. 그렇지 않다면...그럼 바로 댓글로 남겨주세요.
2015년 1월 28일, 에릭탱기

좋은 웹페이지 즐겨찾기