java - 如何从 Android (Java) 中的位图中读取元数据?

标签 java android png gif

如何读取文件格式(png、jpg、gif、bmp、tiff 等)以及宽度、高度,以及具有该值的位图的 DPI?

Android 没有 javax.imageio.*,因此读取此内容的标准 Java 调用不可用。 metadata-extractor是一个很好的产品,但不支持 pnggif

最佳答案

宽度和高度以及位深度和颜色模型通常不被视为“元数据”,而是基本图像属性。我们所说的“图像元数据”通常指的是不太重要的数据,例如物理分辨率 (DPI)、类似 EXIF 的数据(时间戳、相机型号等)等;这些是相对特定于格式的。

如果您已将图像文件(PNG、JPEG、GIF...)解码为位图,则可以向位图对象询问基本属性(例如 getHeight() )。 但是,如果您需要请求一些特定于格式的“元数据”,则 Bitmap 对象不会存储该信息,您需要诸如链接的元数据提取器之类的东西。

对于 PNG,您还可以使用 this library (我自己的)。

关于java - 如何从 Android (Java) 中的位图中读取元数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16428769/

相关文章:

java - Libgdx 数组迭代器

java - "Header" View 和按钮 : how do I attach listeners to Buttons in a "header" that does not have its own Activity?

java - 为什么使用全局异常处理时必须使用try catch?

imagemagick - 阻止 ImageMagick 使用索引颜色?

java - Richfaces 文件上传错误

java - Eclipse RCP : How to Edit or Delete the "Editor Area" view in helloworld app

java - 在java中使用正则表达式围绕空格/标点符号分割字符串时出现问题

c# - 以编程方式安装 APK Xamarin.Forms (Android)

c++ - 如何在 Linux 上用 C++ 读取 JPEG 和 PNG 像素?

css - Internet Explorer PNG CSS 不透明度问题