我正在使用Android中的自定义前置摄像头拍照,但是将图像保存在错误的方向。任何人都可以告诉我如何避免这种情况或如何旋转图像并将其保存在android的媒体商店中?任何人都可以提供一个例子吗?
由于
答案 0 :(得分:6)
旋转图像:
Bitmap bmp = getOriginalBitmap();
Matrix rotateMatrix = new Matrix();
rotateMatrix.postRotate(degreeToRotate);
Bitmap rotatedBitmap = Bitmap.createBitmap(bmp, 0, 0, bmp.getWidth(), bmp.getHeight(), rotateMatrix, false);
那么你应该能够像这样保存它:
MediaStore.Images.Media.insertImage(getContentResolver(), rotatedBitmap, "My bitmap", "My rotated bitmap");
答案 1 :(得分:0)
您应该从EXIF data获取方向,如下所示:
ExifInterface exif = new ExifInterface(sourceFileName); //Since API Level 5
String exifOrientation = exif.getAttribute(ExifInterface.TAG_ORIENTATION);
同样,您应该使用setAttribute()
来更改方向。