imagereader java_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 {
/**
* 源图片路径名称如:c:/1.jpg
*/
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());
}
/**
* 使用ImageReader获取图片尺寸
*
* @param src
* 源图片路径
*/
public void getImageSizeByImageReader(String src) {
long beginTime = new Date().getTime();
File file = new File(src);
try {
Iterator 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");
}
/**
* 使用BufferedImage获取图片尺寸
*
* @param src
* 源图片路径
*/
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获取图片尺寸实例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
imagereader java_java中ImageReader和BufferedImage获取图片尺寸实例相关推荐
- 图片加尺寸php代码,php获取图片尺寸(宽度,高度)_php
本篇文章主要说明php获取图片尺寸(宽度,高度)的函数,即getimagesize()函数. 语法:array getimagesize( string filename [, array & ...
- php 获得图片大小,php获取图片尺寸(宽度,高度)
本篇文章主要说明PHP获取图片尺寸(宽度,高度)的函数,即getimagesize()函数. 语法:array getimagesize( string filename [, array & ...
- php 验证网络图片尺寸,通过url获取图片尺寸的几种方法:JS和php
首先是js的方法,通过new一个Image对象,设置src属性,并监听complete和onload事件,图片加载完成后输出图片的宽度和高度 function checkPicurl(url){ va ...
- python中值滤波去除椒盐噪声_python 中值滤波,椒盐去噪,图片增强实例
受光照.气候.成像设备等因素的影响,灰度化后的图像存在噪声和模糊干扰,直接影响到下一步的文字识别,因此,需要对图像进行增强处理.图片预处理中重要一环就是椒盐去澡,通常用到中值滤波器进行处理,效果很好. ...
- php imagick手册,PHP中使用Imagick实现各种图片效果实例
这篇文章主要介绍了PHP中使用Imagick实现各种图片效果实例,本文讲解了偏置图像.改变图片大 imagick是一个功能强大的图像处理库. 说是翻译 其实就是简要介绍imagick 的主要功能的或者 ...
- springboot中根据url地址获取图片
application.yml中,配置路径: file:dir: /mnt/mfs-cli/gf/ //服务器地址#dir: E:\\Area\\anhui //本地地址在Controller文件中, ...
- Android 获取图片尺寸大小的方法
一.获取图片大小有两张情况代码如下: package com.jhq.picdemo;import android.Manifest; import android.content.pm.Packag ...
- Android 获取图片尺寸大小
文章目录 1.简介 2.功能实现 1)添加sd 卡读写权限 2).功能代码 3.log显示 4.不同位置获取图片的路径的转化 Bitmap 1) drawable 里面 2)assets 文件 3)S ...
- PHP中使用Imagick实现各种图片效果实例_php技巧
imagick是一个功能强大的图像处理库. 说是翻译 其实就是简要介绍imagick 的主要功能的或者说是我觉得比较实用的功能函数的介绍 以及使用的例子. 因为本人的英语水平有限,所以采用比较通俗或者 ...
最新文章
- java读取本地文件_java 读取本地文件实例详解
- python之torchlight使用_为什么Python被誉为全世界最高效的编程语言?
- matlab中求三维中的多个体积,用matlab计算由下面2个几何体围成的体积: x^2+y^2+z^2=36,((x-4)/5)^2+((y-1)/3)^2+((z-2)/5)^2=1...
- 使用Spring boot,Thymeleaf,AngularJS从零开始构建一个新的Web应用程序-第3部分
- python导出dxf图_在PDMS中使用python直接生成管口方位图(开源分享第三集)
- 通过一个例子介绍 IDA pro 的简单使用
- poj_1442 Treap
- 优雅地减少redux请求样板代码
- ubuntu下有没有类似于imagewatch的软件_大家有没有什么好的app推荐下,学习的类似timing小众点的?...
- 【leetcode】链表题(python)
- 软件工程中的数据流图
- ios 销毁当前页面重新开启_iOS - 切换rootViewController时,销毁之前的控制器
- 证券交易所的运作系统
- 遥感科学与技术和计算机专业哪个好,遥感科学与技术专业就业方向及就业前景分析...
- 【APICloud系列|16】苹果开发者账号如何更改双重认证的手机号
- H5 百度高德地图导航
- 忍者必须死3 通关 服务器维护,忍者必须死3进不去怎么办 进不去解决方法详解[多图]...
- pyqt创建窗口没有句柄_史上最强之《Pyqt》写游戏
- 【分享贴】I2C无法访问ATEC508A加密芯片问题
- 微信公众平台测试账号的获取及开发使用【微信开发学习】