如何旋转图像并保存在Android的媒体商店
问题描述:
我正在使用android中的自定义前置摄像头拍照,但以错误的方向保存图像。任何人都可以告诉我如何避免这种情况或如何旋转图像并将其保存在android的媒体商店?任何人都可以提供一个例子吗?如何旋转图像并保存在Android的媒体商店
感谢
答
要旋转图像:
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");
答
您应该从EXIF data获得取向,像这样:
ExifInterface exif = new ExifInterface(sourceFileName); //Since API Level 5
String exifOrientation = exif.getAttribute(ExifInterface.TAG_ORIENTATION);
同样,您应该使用setAttribute()
来更改方向。
仅适用于JPEG格式;) – jclova