本文目錄一覽:
怎麼用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