没有ExifInterface如何确定图片的方向?

发布于 2024-10-22 07:31:02 字数 312 浏览 7 评论 0原文

我将图像加载到位图中,并且需要知道所拍摄照片(来自相机)的方向才能正确显示它。使用以下代码的方法运行良好(自 API 级别 5 起),但是如果 android:minSdkVersion="4" 该怎么办?还有别的办法吗?

ExifInterface exif = new ExifInterface(SourceFileName);     //Since API Level 5
String exifOrientation = exif.getAttribute(ExifInterface.TAG_ORIENTATION);

I load an image into a bitmap and need to know the orientation of the taken picture (from camera) to show it correctly. The way to use the following code is working nice (since API Level 5), but what to do if android:minSdkVersion="4"? Is there another way?

ExifInterface exif = new ExifInterface(SourceFileName);     //Since API Level 5
String exifOrientation = exif.getAttribute(ExifInterface.TAG_ORIENTATION);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

旧伤慢歌 2024-10-29 07:31:02
Matrix matrix = new Matrix();

ExifInterface exifReader = new ExifInterface(filePath);

int orientation = exifReader.getAttributeInt(ExifInterface.TAG_ORIENTATION, -1);

if (orientation ==ExifInterface.ORIENTATION_NORMAL) {

// Do nothing. The original image is fine.
} else if (orientation == ExifInterface.ORIENTATION_ROTATE_90) {

       matrix.postRotate(90);

} else if (orientation == ExifInterface.ORIENTATION_ROTATE_180) {

       matrix.postRotate(180);

} else if (orientation == ExifInterface.ORIENTATION_ROTATE_270) {

       matrix.postRotate(270);

}
Matrix matrix = new Matrix();

ExifInterface exifReader = new ExifInterface(filePath);

int orientation = exifReader.getAttributeInt(ExifInterface.TAG_ORIENTATION, -1);

if (orientation ==ExifInterface.ORIENTATION_NORMAL) {

// Do nothing. The original image is fine.
} else if (orientation == ExifInterface.ORIENTATION_ROTATE_90) {

       matrix.postRotate(90);

} else if (orientation == ExifInterface.ORIENTATION_ROTATE_180) {

       matrix.postRotate(180);

} else if (orientation == ExifInterface.ORIENTATION_ROTATE_270) {

       matrix.postRotate(270);

}
尛丟丟 2024-10-29 07:31:02

轻松实现您自己的 exif 阅读器

然后

Metadata metadata = JpegMetadataReader.readMetadata(new File(imagePath));
Directory jpegDirectory = metadata.getDirectory(JpegDirectory.class);
 int height = jpg.GetImageHeight();
 int width = jpg.GetImageWidth();

Easy implement your own exif reader

Then

Metadata metadata = JpegMetadataReader.readMetadata(new File(imagePath));
Directory jpegDirectory = metadata.getDirectory(JpegDirectory.class);
 int height = jpg.GetImageHeight();
 int width = jpg.GetImageWidth();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文