java 读取图片的缩略图和dpi

在开发一个图片管理软件时,遇到从大量jpg图片中生成缩略图并计算平方数的问题。起初尝试使用ImageIcon,但发现效率低下。通过研究,了解到jpg的exif信息包含缩略图和dpi。使用JpegMetadataReader读取dpi时,发现结果与Windows系统不一致。为解决这个问题,查阅exif标准文档后,引入Sanselan库,成功解决了不一致的问题。以下是关键代码片段。
摘要由CSDN通过智能技术生成

最近帮朋友做了个管理图片的小软件,要求实现的功能就是对大量的jpg图片生成缩略图显示,自动计算图片的平方数以便计费。最初感觉从图片读取信息应该是很简单的问题,哪知道还是花了好几天才搞定,杯具啊!

刚开始我调用ImageIcon来生成缩略图,才发现对于几百张图片来说这是不可能完成任务,google一把才发现,jpg图片中的exif中会包括缩略图和dpi,但是当我使用JpegMetadataReader类去读dpi的时候竟然发现有时跟windows的读取的结果不一样,要知道程序这东西就怕“有时出问题” 这种情况。走到绝处时竟然下了exif的标准文档来看,不过还好最后发现了Sanselan类可以弥补JpegMetadataReader的不足,长话短说直接看代码吧,本代码并不完美,望体谅。

JpegMetadataReader 来自 metadata-extractor-2.3.1.jar

Sanselan 来自 sanselan-0.97-incubator.jar   

该代码中很多局部变量的申明没有贴出来,希望没有影响到你的阅读。


			String [] temp = file.getName().split("\\.");
			St
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值