package cn.newgxu.bbs.common.util.fileupload; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.util.HashMap; import java.util.Map; /** * 用于获取图片的的属性 * @since 2012-03-07 * @author ivy */ public class ImageInfo { /** * 简单地获取图片的宽度和高度 * @param imagePath 图片的绝对路径 * @return 包含图片的宽度和高度的属性键值对 */ public static Map<String, Integer> getImgInfo(String imagePath) { Map<String, Integer> map = new HashMap<String, Integer>(); BufferedImage bufferedIamge = getBufferedImage(imagePath); map.put("width", bufferedIamge.getWidth()); map.put("height", bufferedIamge.getHeight()); return map; } /** * 获取一个访问图像数据缓冲区的类,该类封转了图像属性的各种方法 * @param imagePath 图像的绝对地址 * @return BufferedImage */ public static BufferedImage getBufferedImage(String imagePath) { FileInputStream fileInputStream = null; BufferedImage bufferedImage = null; try { fileInputStream = new FileInputStream(new File(imagePath)); bufferedImage = ImageIO.read(fileInputStream); } catch (IOException e) { e.printStackTrace(); } finally { try { if (fileInputStream != null) fileInputStream.close(); fileInputStream = null; } catch (IOException e) { e.printStackTrace(); } } return bufferedImage; } // private static File file; // private static BufferedImage bufferedImage; // // private TestImg(String imagePath) { // try { // file = new File(imagePath); // bufferedImage = ImageIO.read(file); // } catch (IOException e) { // e.printStackTrace(); // } // } // public static TestImg getInstance(String imagePath) { // return new TestImg(imagePath); // } // // public int getHeight() { // return bufferedImage.getHeight(); // } // // public int getWidth() { // return bufferedImage.getWidth(); // } // // public long getSize() { // return file.length(); // } public static void main(String[] args) { String p = "d:/1.jpg"; Map<String, Integer> m = getImgInfo(p); for (Map.Entry<String, Integer> entry : m.entrySet()) { System.out.println(entry.getKey() + ": " + entry.getValue()); } } }