问题标签 [android-exifinterface]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
502 浏览

android-10.0 - 如何在android Q中编辑exif

我想创建一个 jpg 并编辑它的 exif。
之前,我使用 ExifInterface:

但在 Android Q 中,我只是从 MediaStore API 获得了一个图像 uri,而不是文件路径。我尝试使用它:

但是当我打电话时saveAttributes(),它显示如下

那么,有没有另一种方法来处理这个问题

0 投票
1 回答
415 浏览

android - 将图像添加到 MediaStore 后写入 EXIF 数据

我只需要将一些 Exif 元数据添加到保存到 MediaStore 的 Jpeg 中(使用 Content Resolver)

这里我如何保存图像:

在这里,我尝试添加 Exif 元数据:

无论如何,我尝试这样做(检查注释行)我收到一些错误(错误的文件描述符或访问被拒绝)

使用来自“MediaStore.Images.Media.DATA”的路径只是一个测试,不得在解决方案中使用(我的目标是 API 29,它已被弃用)。但无论如何,它也不起作用。

有谁知道我怎样才能摆脱这个?

谢谢

PS 图像已正确保存,只是 writeExif() 部分失败。

0 投票
0 回答
85 浏览

android - 使用 ExifInterface 后 BitmapFactory.decodeByteArray() 工作不正确

我尝试通过从我的Android应用程序中的图库或相机获取图片来添加简单的功能。一切正常,我成功获得uri了图片,然后想向用户展示这张图片。这段代码运行良好:

然后,如果需要,我想旋转图像(例如,在相机之后所有图像都旋转 90 度)。为此,我使用ExifInterface(来自androidx.exifinterface:exifinterface:1.3.1)。但是有一些奇怪的东西。在这段代码中:

bitmapOriginal总是null。_ 如您所见,我exifInterface之前创建了对象inputStream.readBytes()。如果我交换它们,并尝试运行以下代码:

然后bitmapOriginal不会null,但rotation价值将永远ORIENTATION_UNDEFINED

那么,我做错了什么?如何从uri具有正确方向的位图获取正确的字节和图像方向并在之后创建?

0 投票
1 回答
733 浏览

android - 尝试保存属性时,Androidx Exifinterface 崩溃。写入失败:EBADF(错误的文件描述符)

尝试使用saveAttributes()from androidxExifinterface保存任何 JPEG 图片时,我的程序崩溃并出现错误“写入失败:EBADF(错误文件描述符)”

我可以从新项目重新开始复制​​错误。我正在使用 Android Studio: new project-> Empty Activity。我正在使用模拟器进行测试。

以下是我对新的 Empty Activity 模板所做的唯一更改的完整代码。

使用androidxExifinterface,此代码能够正确获取 Exif 属性。但是,saveAttributes()每次都崩溃:

  • saveAttributes()无论我是否先崩溃,都会崩溃setAttribute()
  • 使用哪张图片无关紧要。我尝试过的每张照片都会崩溃。
  • 我正在使用JPEG图片。我没有测试过其他 mime 类型。
  • saveAttributes()抛出:“无法保存新文件。原始文件存储在...”

我想设置图片的Exif属性并保存到原始图像文件中。正确的方法是什么?

[这篇文章应该被标记androidx-interface。但是那个标签不存在,而且我没有添加标签的声誉。所以我使用了 tag android-interface,它确实存在]。


build.gradle (:app)

AndroidManifest.xml:

MainActivity.kt:

堆栈跟踪:

0 投票
0 回答
128 浏览

android - Android Camera Exif 没有方向数据但图像已旋转

我正在使用以下帮助程序类来处理相机图像的采样和旋转。

调用助手类

我得到的问题是随机的。大多数情况下,如果我得到以下语句的旋转图像

返回 ExifInterface.ORIENTATION_ROTATE_90 这很好,代码可以正确旋转该图像。但有时图像被旋转,但 Exif getAttributeInt 返回 ExifInterface.ORIENTATION_NORMAL。我相信这意味着没有针对此图像的 Exif/Orientation 数据,它返回默认值。

退出获取属性方法

0 投票
1 回答
317 浏览

android - Exifinterface saveAttributes() 由于“无法将原始文件复制到临时文件”而失败

所以现在我正在编写自定义相机,并且我想将位置写入我捕获的图像中,由于某种原因我不能在这里使用 builder.set() 。该文件是这样创建的:

为了使问题简单,我只是简单地创建一个具有正确文件路径的 ExifInterface,并调用 saveAttributes() 方法,它看起来像这样:

但后来我得到了这个日志,

我认为问题发生在这里:Caused by: java.io.IOException: Couldn't rename to /storage/emulated/0/DCIM/Camera/1619507958498.jpg.tmp

顺便说一句,getAttributes() 工作正常,只有 saveAttributes() 有问题

请帮我检查如何解决这个问题。非常感谢

0 投票
0 回答
42 浏览

android - Android:在 Kotlin 中使用 ExifInterface 获取图像的地址

是否可以使用 ExifInterface 获取图像地址?在 Android 上,查看 exif 信息图像时会填充地址。

0 投票
0 回答
86 浏览

react-native - 如何将exif数据添加到android上的照片

我使用 react-native-camera 拍照。在选项中,我添加了坐标(可行)和“ImageDescription”。但是记录响应时不会出现“ImageDescription”。然后我使用 react-native-exif 来读取文件的 exif 数据。(我认为问题是由于 api 级别设置不正确,因为我得到的属性低于 api 级别 9)我的代码:

日志:

额外的信息:

安卓/build.gradle:

  • buildToolsVersion = "29.0.2"
  • minSdkVersion = 25
  • compileSdkVersion = 29
  • targetSdkVersion = 29

包.json:

  • “反应”:“16.13.1”,
  • “反应原生”:“^0.63.4”,
  • "react-native-camera": "git+https://git@github.com/react-native-community/react-native-camera.git",
  • "react-native-exif": "^0.4.0",
0 投票
1 回答
201 浏览

android - 使用 Android CameraX 拍摄的所有图像在其 EXIF 数据中的方向不正确

我正在使用CameraX https://developer.android.com/training/camerax拍摄一些图像。但是,我所有的图像都出现了错误的旋转。它们都被标记:ORIENTATION_ROTATE_90是的,我已检查以确保方向锁定未打开,并且清单中没有任何内容可以锁定屏幕方向,我也没有覆盖任何方向方法。

无论我如何通过模拟器或真实设备对其进行测试,方向似乎都被“锁定”了。唯一正确旋转的图片是设备处于纵向模式时。但是,它仍然被标记为ORIENTATION_ROTATE_90

谁能看到我可能做错了什么?

0 投票
0 回答
54 浏览

android - Uri 到位图的转换旋转图像

我有一个具有图像上传功能的应用程序,在上传图像后,onActivityResult()我收到图像的 Uri 并将其转换为具有以下功能的位图:

但由于某种原因,如果它是肖像图像,我的图像会旋转 90 度

我已经尝试使用这个ExifInterface东西来修复它并使用这个功能将它旋转回来:

但我收到此错误:

这就是我为图像创建文件路径的方式:

这是我为图像提供的文件路径的示例:

我假设路径中有一些与点相关的东西avedot.app破坏了 ExifInterface 函数,但我该如何解决这个问题?

提前致谢 !