Java加载图片 Image与BufferedImage 区别

本文探讨了Java中Image和BufferedImage的区别,重点在于BufferedImage具备可访问的图像数据缓冲区,由Raster和ColorModel组成。在使用时,确保Raster的band数量和类型与BufferedImage的要求匹配,所有BufferedImage的左上角坐标都是(0, 0)。了解这些对于正确地将图片加载到内存中至关重要。" 132546747,19695066,大数据入门:掌握基础与实战,"['大数据', 'Hadoop', 'Spark', '数据存储', '数据处理']
Image是一个抽象列,BufferedImage是Image的实现。 

Image和BufferedImage的主要作用就是将一副图片加载到内存中。 

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

Java将一副图片加载到内存中的方法是:

String imgPath = "D://demo.bmp";  
BufferedImage image = ImageIO.read(new FileInputStream(imgPath)); 

该方法BufferedImage 可以获得图片的详细信息,例如:获得图片的宽度:image.getWidth(null);图片只有加载内存中才能对图片进行进一步的处理。

String imgPath = "D://demo.bmp";  
Image imageToolkit.getDefaultToolkit().getImage(imgPath);

Image <span style="font-family: Helvetica, Tahoma, Arial, sans-serif; background-color: rgb(255, 255, 255);">不能把图片加载到内存中,仅仅是得到图片,所以也就不能获得图片的信息,图片的长宽信息都无法拿到。</span>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值