首页 > 解决方案 > 从相机拍摄后图像自动旋转到 90 度

问题描述

我正在使用 Camera API 捕获图像,单击图像后它会自动将其旋转到 90 度,为了克服这个问题,我使用 Matrix 通过使用以下代码来旋转方向:

 var angle = 90f
 val mat = Matrix()
 mat.postRotate(angle)

 val bmp = BitmapFactory.decodeStream(FileInputStream(picture), null, null)

//                    mat.postScale(1f, -1f, bmp!!.width / 2f, bmp.height / 2f);
 val correctBmp =
                Bitmap.createBitmap(bmp!!, 0, 0, bmp!!.width, bmp.height, mat, true)

但问题是这段代码成功地将图像旋转到 90 度,但是当我将文件发送到服务器时,它会在旋转之前将文件上传到服务器,所以我需要一个类似的修复程序,它也可以旋转文件内的图像。

我曾尝试使用 bitmap.compress 将位图写入新文件,但在将图像上传到服务器时出现“断管”错误。所以请给我建议任何解决方法。

标签: androidandroid-camera

解决方案


推荐阅读