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/zh-hant/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

發表回復

登錄後才能評論