Java抽取照片的元数据信息
发布时间:2020-05-24 16:30:03 所属栏目:Java 来源:互联网
导读:Java抽取照片的元数据信息
|
下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。 脚本之家小编现在分享给大家,也给大家做个参考。 Image Description 图像描述、来源. 指生成图像的工具 Artist 作者 有些相机可以输入使用者的名字 Make 生产者 指产品生产厂家 Model 型号 指设备型号 Orientation方向 有的相机支持,有的不支持 XResolution/YResolution X/Y方向分辨率 本栏目已有专门条目解释此问题。 ResolutionUnit分辨率单位 一般为PPI Software软件 显示固件Firmware版本 DateTime日期和时间 YCbCrPositioning 色相定位 ExifOffsetExif信息位置,定义Exif在信息在文件中的写入,有些软件不显示。 ExposureTime 曝光时间 即快门速度 FNumber光圈系数 ExposureProgram曝光程序 指程序式自动曝光的设置,各相机不同,可能是Sutter Priority(快门优先)、Aperture Priority(快门优先)等等。 ISO speed ratings感光度 ExifVersionExif版本 DateTimeOriginal创建时间 DateTimeDigitized数字化时间 ComponentsConfiguration图像构造(多指色彩组合方案) CompressedBitsPerPixel(BPP)压缩时每像素色彩位 指压缩程度 ExposureBiasValue曝光补偿。 MaxApertureValue最大光圈 MeteringMode测光方式, 平均式测光、中央重点测光、点测光等。 Lightsource光源 指白平衡设置 Flash是否使用闪光灯。 FocalLength焦距,一般显示镜头物理焦距,有些软件可以定义一个系数,从而显示相当于35mm相机的焦距 MakerNote(User Comment)作者标记、说明、记录 FlashPixVersionFlashPix版本 (个别机型支持) ColorSpace色域、色彩空间 ExifImageWidth(Pixel X Dimension)图像宽度 指横向像素数 ExifImageLength(Pixel Y Dimension)图像高度 指纵向像素数 Interoperability IFD通用性扩展项定义指针 和TIFF文件相关,具体含义不详 FileSource源文件 Compression压缩比。 import java.io.File;
import java.util.Collection;
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.ExifIFD0Directory;
/**
* 测试用于读取图片的EXIF信息
* @author Leyond
* @Blog codecho.com
*/
public class MetaDataReader {
public static void main(String[] args) throws Exception {
File jpegFile = new File("src/Nikon E990.jpg");
Metadata metadata = JpegMetadataReader.readMetadata(jpegFile);
Directory exif = metadata.getDirectory(ExifIFD0Directory.class);
Collection<Tag> tags = exif.getTags();
Iterator<Tag> iter = tags.iterator();
//逐个遍历每个Tag
while(iter.hasNext())
{
Tag tag = (Tag)iter.next();
System.out.println(tag);
}
//检查是否Tag中包含了图片属性-摘要中的作者 (xp)
if(exif.containsTag(ExifIFD0Directory.TAG_WIN_AUTHOR)){
System.out.println("Pic author is "+exif.getDescription(ExifIFD0Directory.TAG_WIN_AUTHOR));
}
//检查是否Tag中包含了图片属性-摘要中的标题 (xp)
if(exif.containsTag(ExifIFD0Directory.TAG_WIN_TITLE)){
System.out.println("Pic title is "+exif.getDescription(ExifIFD0Directory.TAG_WIN_TITLE));
}
//检查是否Tag中包含了图片属性-摘要中的主题 (xp)
if(exif.containsTag(ExifIFD0Directory.TAG_WIN_SUBJECT )){
System.out.println("Pic subject is "+exif.getDescription(ExifIFD0Directory.TAG_WIN_SUBJECT ));
}
}
}
执行结果: [Exif IFD0] Make – NIKON [Exif IFD0] Model – E990 [Exif IFD0] Orientation – Top,left side (Horizontal / normal) [Exif IFD0] X Resolution – 300 dots per inch [Exif IFD0] Y Resolution – 300 dots per inch [Exif IFD0] Resolution Unit – Inch [Exif IFD0] Software – E990v1.1 [Exif IFD0] Date/Time – 2000:12:30 10:18:16 [Exif IFD0] YCbCr Positioning – Datum point [Exif IFD0] Windows XP Title – Codecho.com [Exif IFD0] Windows XP Author – Leyond [Exif IFD0] Windows XP Subject – Test Pic author is Leyond Pic title is Codecho.com Pic subject is Test 其中后面三项分别是图片属性-摘要中的标题、主题、作者信息。当然你还可以读取关键字(TAG_WIN_KEYWORDS)等信息。具体参考: Javadoc 。 以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。 如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
