Java获取图片的宽高等信息

简介:
import zzvcom.netvideo.common.toolkit.exception.EvalException; 

import javax.imageio.ImageIO; 
import java.awt.image.BufferedImage; 
import java.io.File; 
import java.io.FileInputStream; 
import java.io.FileNotFoundException; 
import java.io.IOException; 
import java.util.HashMap; 
import java.util.Map; 

/** 
* 图片信息获取测试 

* @author leizhimin 2009-6-30 16:03:05 
*/
 
public  class TestImg { 
         /** 
         * 计算图片尺寸大小等信息:w宽、h高、s大小。异常时返回null。 
         * 
         * @param imgpath 图片路径 
         * @return 图片信息map 
         */
 
         public  static Map<String, Long> getImgInfo(String imgpath) { 
                Map<String, Long> map =  new HashMap<String, Long>(3); 
                File imgfile =  new File(imgpath); 
                 try { 
                        FileInputStream fis =  new FileInputStream(imgfile); 
                        BufferedImage buff = ImageIO.read(imgfile); 
                        map.put( "w", buff.getWidth() * 1L); 
                        map.put( "h", buff.getHeight() * 1L); 
                        map.put( "s", imgfile.length()); 
                        fis.close(); 
                }  catch (FileNotFoundException e) { 
                        System.err.println( "所给的图片文件" + imgfile.getPath() +  "不存在!计算图片尺寸大小信息失败!"); 
                        map =  null
                }  catch (IOException e) { 
                        System.err.println( "计算图片" + imgfile.getPath() +  "尺寸大小信息失败!"); 
                        map =  null
                } 
                 return map; 
        } 


         public  static  void main(String[] args)  throws EvalException { 
                String p =  "c:\\111.jpg"
                Map<String, Long> m = getImgInfo(p); 
                 for (Map.Entry<String, Long> entry : m.entrySet()) { 
                        System.out.println(entry.getKey() +  " " + entry.getValue()); 
                } 
        } 
}
 
w 120 
s 8148 
h 90 

Process finished with exit code 0
 
还可以做更多的处理,比如剪切图片,获取颜色等属性等等。
 

本文转自 leizhimin 51CTO博客,原文链接:http://blog.51cto.com/lavasoft/171159,如需转载请自行联系原作者
相关文章
|
16天前
|
数据可视化 Java
Java语言使用DL4J实现图片分类
【6月更文挑战第14天】Java语言使用DL4J实现图片分类
29 3
|
2天前
|
Java API Maven
使用Java Libvirt API 访问虚拟机信息
使用Java Libvirt API 访问虚拟机信息
5 1
|
7天前
|
Java
用java 将 jb2 文件转图片的方法
用java 将 jb2 文件转图片的方法
10 1
|
11天前
|
前端开发 Java
【技术进阶】Java高手都在用的秘籍:自定义异常,让错误信息说话!
【6月更文挑战第19天】在Java中,自定义异常提升代码可读性和可维护性,提供针对特定错误的定制反馈。创建自定义异常涉及继承`Exception`类,如`CustomException`,并用它来抛出具有详细信息的错误。在实践中,可以为异常添加额外字段,如`DetailedException`的`errorCode`,以增强信息携带能力。使用自定义异常时,应明确目的、保持简洁、提供丰富信息并统一风格,使其成为高效错误处理的工具。
|
16天前
|
前端开发 JavaScript Java
计算机Java项目|游戏美术外包管理信息系统
计算机Java项目|游戏美术外包管理信息系统
|
23天前
|
Java 机器人 API
JAVA实现自动打开URL对应的网页并保存为图片-不借助第三方API
JAVA实现自动打开URL对应的网页并保存为图片-不借助第三方API
24 9
|
3天前
|
安全 小程序 Java
基于Java医院门诊互联电子病历管理信息系统设计和实现(源码+LW+调试文档+讲解等)
基于Java医院门诊互联电子病历管理信息系统设计和实现(源码+LW+调试文档+讲解等)
|
2月前
|
文字识别 Java API
Java图片信息识别
【5月更文挑战第26天】Java图片信息识别
26 1
|
16天前
|
前端开发 JavaScript Java
计算机Java项目|Springboot社区医院信息平台
计算机Java项目|Springboot社区医院信息平台
|
16天前
|
Java
创建java文件 自动添加作者、时间等信息 – IDEA 技巧
创建java文件 自动添加作者、时间等信息 – IDEA 技巧
11 0