- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想获取位图的方向。我使用这段代码:
ExifInterface ei = new ExifInterface(photoPath);
int orientation = ei.getAttributeInt(ExifInterface.TAG_ORIENTATION,
ExifInterface.ORIENTATION_NORMAL);
switch(orientation) {
case ExifInterface.ORIENTATION_ROTATE_90:
rotateImage(bitmap, 90);
break;
case ExifInterface.ORIENTATION_ROTATE_180:
rotateImage(bitmap, 180);
break;
// etc.
}
我的问题是这一行:
ExifInterface ei = new ExifInterface(photoPath);
在此代码中photoPath是一个字符串,但我没有任何字符串路径!我在内存中加载了一个位图!我如何设置 ExifInterface 的路径?
最佳答案
第一个解决方案是创建一个临时文件并调用标准new ExifInterface(tempFile)
。我不喜欢它效率低下
给出了其他解决方案here ,但您必须通过添加第 3 方代码来扩大您的 APK。
我个人选择的解决方案是在捕获到临时文件时旋转图像,然后将其保存在 Sqlite 数据库的博客字段中。然后在查看时,我不需要处理旋转,也不需要处理无法读取 EXIF header 的问题,因为我没有文件。
关于java - 图像方向和 ExifInterface,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26345602/
我的应用程序拍摄肖像照片。 在画廊里我看到了 但是当保存到我的服务器时,我看到它是横向的。 我检查了我的图像文件并得到了 ORIENTATION_ROTATE_90 这是什么意思? 我尝试将其设置为O
我用过ExifInterface在 Android 应用程序中用于获取图像的相机方向。我的代码完美适用于 Build.VERSION.SDK_INT = 24) {
我使用这段代码来获取有关 sdcard 中图像的信息, File file = (File) iterator.next(); ExifInterface ex
我正在尝试从画廊的图像中提取 Exif 数据,如下所示: @Override protected void onActivityResult(int requestCode, int resultCo
我想获取位图的方向。我使用这段代码: ExifInterface ei = new ExifInterface(photoPath); int orientation = ei.getAttribut
下面是我的代码- try { InputStream inputStream = getAssets().open("thumbnail.jpg"); exifInterface = new
当我将 picasso 从 2.5.2 升级到 2.71828 并执行 gradle sync 时,我看到了一个exif接口(interface)错误: 错误: Failed to resolve:
支持库版本 25.1.0 添加了一个新功能 ExifInterface,它向后移植了添加到 Android 7.1 中的 ExifInterface 的功能。 但是如何在不提供默认值的情况下检查特定文
我需要弄清楚如何从位图中获取方向。事情是 - 图像并不总是出现在设备上,所以我不能使用 ExifInterface 来获取方向信息。不知何故,它总是横向显示位图,长度和宽度属性对我帮助不大。 有谁知道
在尝试使用文件路径初始化 exif 接口(interface)实例时,我无法找出 ExifInterface 构造函数抛出的异常。 已更新请按要求查看下面的详细代码。 文件下载功能 public vo
Camera.Parameters 中的 setRotation 方法 并不适用于所有设备。有人建议手动更改EXIF信息来解决问题。你能给我一个简短的例子,说明如何使用 ExifInterface 设
我正在尝试将经纬度和其他数据写入自定义相机应用程序中 jpeg 的 Exif header 。通常,android 会自动使用光圈、ISO、快门速度等数据填充 header 。但是,当我手动添加创建一
我的问题是,在某些设备上,一些从图库中选取的图像在 ImageView 中旋转。我找到了很多使用ExifInterface来解决这个问题的资料,所以我尝试使用它。但是当我尝试使用图像路径创建 Exif
我正在尝试获取图像的方向(来自图库),但 ExifInterface 始终返回 0。这是代码: int orientation = exif.getAttributeInt(ExifInterface
我最近添加了 implementation 'com.google.android.play:core:1.6.4'作为我的 android 项目中的依赖项,现在 Intellij 提示 Progra
我一直在将图像上传到 FirebaseStorage,但在显示它们时,它们通常是错误的。我发现了可以确定图像方向并在必要时旋转和翻转图像的 ExifInterface。 在我的手机上从图库区域选择图像
我正在开发一个应用程序。我得到时间、日期、经度和纬度。 所有信息获取成功。 现在我想格式化从 ExifInterface.TAG_DATETIME 获得的日期和时间。 我该怎么做? 主 Activit
我在相机的 onActivityResult 上通过 bundle 传递位图。 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
我正在尝试使用 ExifInterface 更改 exif 标签。我使用 setAttribute() 并调用 saveAttributes()。标签暂时保存,下次旧值还在,没有更新.........
我正在尝试检查位图的方向并在需要时翻转它,但在应用代码时出现错误。这是我尝试使用 ExifInterface 翻转图像时的代码: @RequiresApi(api = Build.VERSION_CO
我是一名优秀的程序员,十分优秀!