支持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; } }
傍水