突然要用Java 读取 JPEG文件的信息, 宽度, 高度, 颜色表示等信息。
下载了一个工具jar 包 metadata-extractor-2.3.1.jar , 网上搜一下 放到lib 里面。
一个简单的类来读取信息
ReadFileProperties.java
package com.founder.readfile;
import java.io.File;
import java.util.Iterator;
import com.drew.imaging.jpeg.JpegMetadataReader;
import com.drew.metadata.Directory;
import com.drew.metadata.Metadata;
import com.drew.metadata.Tag;
import com.drew.metadata.exif.ExifDirectory;
public class ReadFileProperties {
public static void main(String[] args) throws Exception {
File jpegFile = new File("E:/pic/LOGO.jpg");
Metadata metadata = JpegMetadataReader.readMetadata(jpegFile);
Directory exif = metadata.getDirectory(ExifDirectory.class);
Iterator tags = exif.getTagIterator();
// print color space
if(exif.containsTag(ExifDirectory.TAG_COLOR_SPACE)){
System.out.println("color space = " + exif.getDescription(ExifDirectory.TAG_COLOR_SPACE));
}
//print all exif metadata
while (tags.hasNext()) {
Tag tag = (Tag)tags.next();
System.out.println(tag.getTagType() + "====>" +tag);
}
}
}
留下 备忘。
分享到:
相关推荐
通过以上步骤,你就能使用metadata-extractor库成功地从Java程序中读取照片的Exif信息了。这个强大的工具可以帮助开发者在处理图像时获取更多有价值的数据,无论是进行数据分析、图像编辑还是元数据管理,都能发挥...
本教程将重点讲解如何使用Java语言读取图片的EXIF信息,特别是拍摄时间和相机厂商。 首先,我们需要一个能够解析EXIF信息的库。Java社区中广泛使用的开源库是Apache Commons Imaging(以前称为Apache Sanselan),...
通过以上步骤,我们可以使用Java有效地处理和分析图像文件中的EXIF信息,特别是与GPS相关的数据。这在地理标记、照片管理和图像分析等场景中非常有用。然而,处理这类数据时,务必遵循隐私保护法规,尊重用户的隐私...
在JPEG图像中,EXIF信息通常嵌入在文件头部,使得我们可以通过解析这些信息来了解图像的创作背景和拍摄参数。 首先,我们需要理解EXIF信息头的构成。EXIF信息头通常包含一个二进制的数据块,这个数据块由一系列的...
首先,我们需要了解Java中用于处理图像和EXIF信息的主要类库。Java标准库提供了一个名为`javax.imageio`的包,其中包含`ImageIO`类,可以用来读取和写入图像文件。然而,`ImageIO`并不直接支持读取EXIF数据,所以...
当处理图像文件时,如JPEG或PNG,元数据可能包含EXIF(Exchangeable Image File Format)信息。Java的`javax.imageio.ImageIO`类提供读取和写入图像元数据的功能。通过`ImageReader`和`ImageWriter`接口,可以访问...
以下是对Java读取图片EXIF信息的详细分析: 1. **EXIF信息概述**: - EXIF是专门为数码相机照片设计的一种元数据格式,用于存储拍摄时的相机设置和环境信息。 - 主要信息包括:相机品牌和型号、拍摄时间、光圈...
### 修改图片EXIF信息示例(使用MediaUtil) #### 一、引言 在数字图像处理领域,EXIF(Exchangeable Image File Format)是一种标准格式,用于存储图像文件中的元数据,包括拍摄时间、相机型号、光圈值、快门速度...
综上所述,Java结合Apache Commons Imaging库可以实现对图片的EXIF信息读取和保存,通过调整JPEG压缩质量实现图片压缩,并利用Java 2D API轻松添加边框。这些技术在实际项目中非常实用,帮助开发者处理和优化图片...
首先,我们要知道读取EXIF信息需要用到特定的库或API,例如Java中的ImageIO,Python中的PIL(Pillow),或者是C++中的libexif等。在Delphi编程环境中,"Exif.pas"文件可能是一个实现读取EXIF信息的单元,包含了必要...
综上所述,这个项目涵盖了Java处理照片元数据的关键技术,通过学习和实践,开发者可以掌握如何在Java环境中读取和解析照片的Exif信息,实现照片的精确定位和分析。同时,提供的测试照片也是一个很好的实践素材,可以...
这个项目根据网上各位大牛的博客、讨论而来,主要是解决网上很多人碰到的使用JAVA修改照片的EXIF信息的问题——mediautil.image.jpeg.JPEG cannot be cast to mediautil.image.jpeg.Exif 。EXIF是 Exchangeable ...
在Java中,可以借助像`Apache Commons Imaging`(以前称为`Commons Sanselan`)或者`metadata-extractor`这样的库来读取和修改Exif信息。这些库提供了方便的API,让我们能够轻松地访问和修改图片的Exif标签。 `...
2. 打开图像文件:加载包含Exif信息的图片文件到内存。 3. 读取Exif数据:调用库提供的函数或方法,读取指定的Exif标签,如"DateTimeOriginal"、"Make"、"Model"等。 4. 处理数据:将读取到的信息解析成可读格式,如...
在Android平台上,开发人员经常需要处理图像数据,其中包括读取图片的Exif信息。Exif(Exchangeable Image File Format)是一种扩展的JPEG格式,用于存储与图像相关的信息,如拍摄日期、时间、地理位置、相机型号、...
总的来说,"exif.rar"提供的资源是一个自定义的Android Java库,用于读取和操作JPEG图像的Exif信息。通过深入理解和使用这个库,开发者可以更好地控制和利用图像的元数据,为应用程序增加丰富的功能,如图片编辑、...
在Java中,可以使用`Apache Commons Imaging`库,而在JavaScript中,有`exif-js`库用于浏览器环境下的Exif信息读取。 除了编程方式,还有一些图形用户界面工具可以直接查看Exif信息,如Windows的"属性"对话框(选择...
这段代码会读取指定图片文件,并打印出ExifIFD(主要的Exif信息)、MakerNotes(厂商自定义信息)和ExifSubIFD(子Exif信息)目录中的所有标签及其值。 注意,不同相机品牌和型号的MakerNotes可能会有所不同,可能...
EXIF信息通常存储在JPEG和TIFF格式的图像文件中,包含了丰富的设备信息和拍摄参数。 首先,我们需要引入一个能够读取EXIF信息的库,如`javax.imageio`标准库或者`metadata-extractor`这样的第三方库。在这个例子中...