调用内置相机照片,部分手机图片旋转的解决方案

来源:互联网 发布:手机淘宝开店不了 编辑:程序博客网 时间:2024/04/28 14:15

项目中需要对拍照上传头像,测试的时候华为,htc,小米的测试机正常,三星,联想会出现图片旋转90度的情况。

解决方案通过判断图片被旋转的角度,旋转回来。

通过下面的两个方法,实现功能:

 /**     * 旋转图片     * @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;    }    /**     * 获取图片旋转角度     * @param path     * @return     */    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;    }


0 0
原创粉丝点击