文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何在java中使用ImageReader和BufferedImage获取图片的尺寸

2023-05-30 16:54

关注

如何在java中使用ImageReader和BufferedImage获取图片的尺寸?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

ImageReader 对象通常由特定格式的服务提供者接口 (SPI) 类实例化。服务提供者类(例如 ImageReaderSpi 的实例)向 IIORegistry 注册,后者使用前者进行格式识别和表示可用格式 reader 和 writer。

BufferedImage子类描述具有可访问图像数据缓冲区的Image。BufferedImage由图像数据的ColorModel和Raster组成。Raster的SampleModel中band的数量和类型必须与ColorModel所要求的数量和类型相匹配,以表示其颜色和alpha分量。所有BufferedImage对象的左上角坐标都为(0,0)。因此,用来构造BufferedImage的任何Raster都必须满足:minX=0且minY=0。

多的不用说,上代码,大家伙儿看看

package com.b510;import java.awt.image.BufferedImage;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.util.Date;import java.util.Iterator;import javax.imageio.ImageIO;import javax.imageio.ImageReader;import javax.imageio.stream.ImageInputStream;public class ImageUtil {private String srcpath = "e:/pool.jpg";public ImageUtil() {}public static void main(String[] args) throws Exception {ImageUtil util = new ImageUtil();util.getImageSizeByImageReader(util.getSrcpath());util.getImageSizeByBufferedImage(util.getSrcpath());}public void getImageSizeByImageReader(String src) {long beginTime = new Date().getTime();File file = new File(src);try {Iterator<ImageReader> readers = ImageIO.getImageReadersByFormatName("jpg");ImageReader reader = (ImageReader) readers.next();ImageInputStream iis = ImageIO.createImageInputStream(file);reader.setInput(iis, true);System.out.println("width:" + reader.getWidth(0));System.out.println("height:" + reader.getHeight(0));}catch (IOException e) {e.printStackTrace();}long endTime = new Date().getTime();System.out.println("使用[ImageReader]获取图片尺寸耗时:[" + (endTime - beginTime)+"]ms");}public void getImageSizeByBufferedImage(String src) {long beginTime = new Date().getTime();File file = new File(src);FileInputStream is = null;try {is = new FileInputStream(file);}catch (FileNotFoundException e2) {e2.printStackTrace();}BufferedImage sourceImg = null;try {sourceImg = javax.imageio.ImageIO.read(is);System.out.println("width:" + sourceImg.getWidth());System.out.println("height:" + sourceImg.getHeight());}catch (IOException e1) {e1.printStackTrace();}long endTime = new Date().getTime();System.out.println("使用[BufferedImage]获取图片尺寸耗时:[" + (endTime - beginTime)+"]ms");}public String getSrcpath() {return srcpath;}public void setSrcpath(String srcpath) {this.srcpath = srcpath;}}

运行结果:

如何在java中使用ImageReader和BufferedImage获取图片的尺寸

看完上述内容,你们掌握如何在java中使用ImageReader和BufferedImage获取图片的尺寸的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网行业资讯频道,感谢各位的阅读!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯