Java加载图片 Image与BufferedImage 区别

Image是一个抽象列,BufferedImage是Image的实现。 

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

    BufferedImage 子类描述具有可访问图像数据缓冲区的 ImageBufferedImage 由图像数据的 ColorModelRaster 组成。RasterSampleModel 中 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 不能把图片加载到内存中,仅仅是得到图片,所以也就不能获得图片的信息,图片的长宽信息都无法拿到。

你可能感兴趣的:(java)