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,如需转载请自行联系原作者
相关文章
|
前端开发 JavaScript Java
Java中将图片转换为base64格式的技巧
这样,你就可以在Java中将图片转换为Base64格式了。这个方法的实现非常简单,只需要使用Java的内置库,无需任何额外的库。希望这个方法对你有所帮助。
917 22
|
监控 JavaScript 数据可视化
建筑施工一体化信息管理平台源码,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
智慧工地云平台是专为建筑施工领域打造的一体化信息管理平台,利用大数据、云计算、物联网等技术,实现施工区域各系统数据汇总与可视化管理。平台涵盖人员、设备、物料、环境等关键因素的实时监控与数据分析,提供远程指挥、决策支持等功能,提升工作效率,促进产业信息化发展。系统由PC端、APP移动端及项目、监管、数据屏三大平台组成,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
675 7
|
SQL Java
使用java在未知表字段情况下通过sql查询信息
使用java在未知表字段情况下通过sql查询信息
293 8
|
人工智能 监控 数据可视化
Java智慧工地信息管理平台源码 智慧工地信息化解决方案SaaS源码 支持二次开发
智慧工地系统是依托物联网、互联网、AI、可视化建立的大数据管理平台,是一种全新的管理模式,能够实现劳务管理、安全施工、绿色施工的智能化和互联网化。围绕施工现场管理的人、机、料、法、环五大维度,以及施工过程管理的进度、质量、安全三大体系为基础应用,实现全面高效的工程管理需求,满足工地多角色、多视角的有效监管,实现工程建设管理的降本增效,为监管平台提供数据支撑。
544 3
|
Java 编译器 开发者
Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面
本文探讨了Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面,帮助开发者提高代码质量和程序的健壮性。
474 2
|
Java 数据安全/隐私保护
Java ffmpeg 实现视频加文字/图片水印功能
【10月更文挑战第22天】在 Java 中使用 FFmpeg 实现视频加文字或图片水印功能,需先安装 FFmpeg 并添加依赖(如 JavaCV)。通过构建 FFmpeg 命令行参数,使用 `drawtext` 滤镜添加文字水印,或使用 `overlay` 滤镜添加图片水印。示例代码展示了如何使用 JavaCV 实现文字水印。
1771 1
|
Java
Java开发实现图片URL地址检验,如何编码?
【10月更文挑战第14天】Java开发实现图片URL地址检验,如何编码?
655 4
|
Java
Java开发实现图片地址检验,如果无法找到资源则使用默认图片,如何编码?
【10月更文挑战第14天】Java开发实现图片地址检验,如果无法找到资源则使用默认图片,如何编码?
408 2
|
前端开发 小程序 Java
java基础:map遍历使用;java使用 Patten 和Matches 进行正则匹配;后端传到前端展示图片三种情况,并保存到手机
这篇文章介绍了Java中Map的遍历方法、使用Pattern和matches进行正则表达式匹配,以及后端向前端传输图片并保存到手机的三种情况。
942 1
|
算法 Java Linux
java制作海报四:java BufferedImage 转 InputStream 上传至OSS。png 图片合成到模板(另一个图片)上时,透明部分变成了黑色
这篇文章主要介绍了如何将Java中的BufferedImage对象转换为InputStream以上传至OSS,并解决了png图片合成时透明部分变黑的问题。
1129 1