请问有人有做过吗
如果能的话请告诉我怎么做
或者是提供参考数据
如果能的话请告诉我怎么做
或者是提供参考数据
解决方案 »
- JAVA SE
- ArrayList不是线程安全的,而Vector则是.谁能举一个例子说明这一点?
- 获取JAVA路径 包括CLASSPATH外的路径
- 文本分类中新的待分类文本的特征词和权重如何确定?
- swing 事件的问题
- 编写jsp文件,帮忙推荐几个比较好的工具
- java如何连接mysql数据库
- 当定义好了Class名后,我要再更改的话,如何去更改??内详。。。
- 用紫光拼音来拼JDK
- 美国站点被黑了。
- 初学java 问个简单问题
- 谁用Jericho HTML Parser,看看Source的public Element findNextElement(int pos, java.lang.String name)方法
楼主【tdc5580268】截止到2008-07-14 14:02:50的历史汇总数据(不包括此帖):
发帖的总数量:15 发帖的总分数:300 每贴平均分数:20
回帖的总数量:11 得分贴总数量:0 回帖的得分率:0%
结贴的总数量:3 结贴的总分数:40
无满意结贴数:1 无满意结贴分:20
未结的帖子数:12 未结的总分数:260
结贴的百分比:20.00 % 结分的百分比:13.33 %
无满意结贴率:33.33 % 无满意结分率:50.00 %
楼主该结一些帖子了
http://www.drewnoakes.com/code/exif/metadata-extractor-2.1.jar
也有源代码
http://www.drewnoakes.com/code/exif/metadata-extractor-src-2.1.jar
然后
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[]) {
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));
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");
} catch (FileNotFoundException ex) {
System.err.println("file not found");
}
}
}
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压缩比。