android做自定义拍照功能时,三星手机拍出来的图片会横屏显示

来源:互联网 发布:淘宝网最大股东是谁 编辑:程序博客网 时间:2024/06/02 16:00

三星手机拍出来的图片会横屏显示的问题:


首先获取图片的旋转角度 :

//获取图片的旋转角度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;}

//解决三星手机获取系统照片自动横屏显示的问题int degree = readPictureDegree(imagePath);bitmap = rotaingImageView(degree,bitmap);

0 0
原创粉丝点击