java读取exif信息,读取exif的软件

本文目录一览:

怎么用java代码提取图片Exif信息中的压缩率,看清楚再回答

压缩前大小/压缩后大小=压缩率;自己手动算,那两个大小可以获取到的

用java如何读取图片的颜色模式值?

java 读取图片的 Exif 数据收藏

包的下载地址:

package com.imgread;

import com.drew.metadata.*;

import com.drew.metadata.exif.*;

import com.drew.imaging.jpeg.JpegProcessingException;

import java.io.*;

import java.util.Iterator;

public class EXIFReader {

public static void main(String args[]) throws FileNotFoundException {

File f = new File(“c:\\b.jpg”);

try {

ExifReader er = new ExifReader(f);

Metadata exif = er.extract();

Iterator itr = exif.getDirectoryIterator();

while (itr.hasNext()) {

Directory directory = (Directory) itr.next();

System.out.println(“EXIF版本:” + directory.getString(ExifDirectory.TAG_EXIF_VERSION));

System.out.println(“相机品牌:” + directory.getString(ExifDirectory.TAG_MAKE));

System.out.println(“相机型号:” + directory.getString(ExifDirectory.TAG_MODEL));

System.out.println(“光 圈 值:” + directory.getString(ExifDirectory.TAG_FNUMBER));

System.out.println(“快 门:” + directory.getString(ExifDirectory.TAG_EXPOSURE_TIME));

System.out.println(“感 光 度:” + directory.getString(ExifDirectory.TAG_ISO_EQUIVALENT));

System.out.println(“软 件:” + directory.getString(ExifDirectory.TAG_SOFTWARE));

System.out.println(“原始拍摄时间:” + directory.getString(ExifDirectory.TAG_DATETIME_ORIGINAL));

System.out.println(“数字化时间:” + directory.getString(ExifDirectory.TAG_DATETIME_DIGITIZED));

System.out.println(“方 向:” + directory.getString(ExifDirectory.TAG_ORIENTATION));

System.out.println(“图片宽度:” + directory.getString(ExifDirectory.TAG_EXIF_IMAGE_WIDTH));

System.out.println(“图片高度:” + directory.getString(ExifDirectory.TAG_EXIF_IMAGE_HEIGHT));

System.out.println(“水平分辨率:” + directory.getString(ExifDirectory.TAG_X_RESOLUTION));

System.out.println(“垂直分辨率:” + directory.getString(ExifDirectory.TAG_Y_RESOLUTION));

System.out.println(“垂直分辨率:” + directory.getString(ExifDirectory.TAG_EXPOSURE_BIAS));

break;

//获得全部metadata

/*Iterator tags = directory.getTagIterator();

while (tags.hasNext()) {

Tag tag = (Tag) tags.next();

System.out.println(tag);

}

if (directory.hasErrors()) {

Iterator errors = directory.getErrors();

while (errors.hasNext()) {

System.out.println(“ERROR: ” + errors.next());

}

}*/

}

} catch (JpegProcessingException e) {

System.err.println(“not jpeg file”);

}

}

}

方法说明:

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压缩比。

java如何查看qq图片的拍摄时间

1、通过file的lastModified获取。

Long fileTime = file.lastModified();

// Date date = new Date(fileTime);

// SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat(“MM月dd日”);

通过这种方法获取到的是一个Long类型的时间(以ms计算),然后给它日期格式化一下,就可以得到拍摄时间。

2、panda IExif 是一款读取数码照片 EXIF 信息的桌面应用软件, 通过 IExif 可以查看数码照片的 Exif/GPS/IPTC 信息。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/186620.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-11-27 05:47
下一篇 2024-11-27 05:47

相关推荐

  • java client.getacsresponse 编译报错解决方法

    java client.getacsresponse 编译报错是Java编程过程中常见的错误,常见的原因是代码的语法错误、类库依赖问题和编译环境的配置问题。下面将从多个方面进行分析…

    编程 2025-04-29
  • Java JsonPath 效率优化指南

    本篇文章将深入探讨Java JsonPath的效率问题,并提供一些优化方案。 一、JsonPath 简介 JsonPath是一个可用于从JSON数据中获取信息的库。它提供了一种DS…

    编程 2025-04-29
  • Java腾讯云音视频对接

    本文旨在从多个方面详细阐述Java腾讯云音视频对接,提供完整的代码示例。 一、腾讯云音视频介绍 腾讯云音视频服务(Cloud Tencent Real-Time Communica…

    编程 2025-04-29
  • Java Bean加载过程

    Java Bean加载过程涉及到类加载器、反射机制和Java虚拟机的执行过程。在本文中,将从这三个方面详细阐述Java Bean加载的过程。 一、类加载器 类加载器是Java虚拟机…

    编程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介绍

    本文将详细介绍Java Milvus SearchParam withoutFields的相关知识和用法。 一、什么是Java Milvus SearchParam without…

    编程 2025-04-29
  • Python脚本控制其他软件

    Python作为一种简单易学、功能强大的脚本语言,具有广泛的应用领域,在自动化测试、Web开发、数据挖掘等领域都得到了广泛的应用。其中,Python脚本控制其他软件也是Python…

    编程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java语言中的一个版本,于2014年3月18日发布。本文将从多个方面对Java 8中某一周的周一进行详细的阐述。 一、数组处理 Java 8新特性之一是Stream…

    编程 2025-04-29
  • Java判断字符串是否存在多个

    本文将从以下几个方面详细阐述如何使用Java判断一个字符串中是否存在多个指定字符: 一、字符串遍历 字符串是Java编程中非常重要的一种数据类型。要判断字符串中是否存在多个指定字符…

    编程 2025-04-29
  • 量化交易软件哪个好?

    量化交易软件是为量化交易而设计的工具,能够用程序化方法对市场数据进行分析和交易决策。那么,哪个量化交易软件最好呢?下面从几个方面进行详细阐述。 一、交易功能 交易功能是量化交易软件…

    编程 2025-04-29
  • VSCode为什么无法运行Java

    解答:VSCode无法运行Java是因为默认情况下,VSCode并没有集成Java运行环境,需要手动添加Java运行环境或安装相关插件才能实现Java代码的编写、调试和运行。 一、…

    编程 2025-04-29

发表回复

登录后才能评论