如何在图像uri上应用EXIF方向而不涉及位图?

时间:2015-05-23 13:12:05

标签: android bitmap uri exif image-rotation

我知道在位图对象上应用EXIF方向,这样做 -

public static Bitmap getCorrectBitmap(Bitmap bitmap, String filePath) {
        ExifInterface ei;
        Bitmap rotatedBitmap =bitmap;
        try {
            ei = new ExifInterface(filePath);

            int orientation = ei.getAttributeInt(ExifInterface.TAG_ORIENTATION,
                    ExifInterface.ORIENTATION_NORMAL);
            Matrix matrix = new Matrix();
            switch (orientation) {
                case ExifInterface.ORIENTATION_ROTATE_90:
                    matrix.postRotate(90);
                    break;
                case ExifInterface.ORIENTATION_ROTATE_180:
                    matrix.postRotate(180);
                    break;
                case ExifInterface.ORIENTATION_ROTATE_270:
                    matrix.postRotate(270);
                    break;
            }

            rotatedBitmap = Bitmap.createBitmap(bitmap , 0, 0, bitmap .getWidth(), bitmap .getHeight(), matrix, true);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return rotatedBitmap;
    }

但是,我所拥有的是 - 一些旋转的图像(相机图像)uri及其相应的文件路径(SD卡)。

如果有人建议我在图像uri上应用类似的EXIF方向并找回正确定位的uri,那将会很棒。

我不想让bitmap object参与此过程,因为获取图片的位图会占用时间(每张图片约1秒)。

0 个答案:

没有答案