支持jpg,gif,psd,png。
lib=metadata-extractor-2.6.2.jar,xmpcore.jar
libUrl=http://code.google.com/p/metadata-extractor/
import java.io.File;
import java.io.IOException;
import javax.swing.ImageIcon;
import com.drew.imaging.ImageMetadataReader;
import com.drew.imaging.ImageProcessingException;
import com.drew.metadata.Directory;
import com.drew.metadata.Metadata;
import com.drew.metadata.Tag;
public class ImgProp {
private int width = -1;
private int height = -1;
private String ext = null;
private String path = null;
public ImgProp(String filePath) throws ImageProcessingException, IOException {
this.path = filePath;
int i1 = filePath.lastIndexOf('.');
this.ext = filePath.toLowerCase().substring(i1 + 1);
if ("psd".equals(ext)) {
getPsdInfo();
} else {
getImgInfo();
}
}
private void getPsdInfo() throws ImageProcessingException, IOException {
File file = new File(path);
Metadata metadata = ImageMetadataReader.readMetadata(file);
for (Directory directory : metadata.getDirectories()) {
for (Tag tag : directory.getTags()) {
if ("Image Height".equals(tag.getTagName())) {
height = Integer
.parseInt(tag.getDescription().replace(" pixels", ""));
} else if ("Image Width".equals(tag.getTagName())) {
width = Integer.parseInt(tag.getDescription().replace(" pixels", ""));
}
if (height > 0 && width > 0) {
break;
}
}
}
}
public void getImgInfo() {
ImageIcon image = new ImageIcon(path);
width = image.getIconWidth();
height = image.getIconHeight();
}
public int getWidth() {
return width;
}
public void setWidth(int width) {
this.width = width;
}
public int getHeight() {
return height;
}
public void setHeight(int height) {
this.height = height;
}
}
傍水