这些Java教程是针对JDK 8编写的。本页中描述的示例和实践不利用后续版本中引入的改进,并可能使用不再可用的技术。
请参阅Java语言更改以了解Java SE 9及其后续版本中更新的语言特性的摘要。
请参阅JDK发布说明,获取有关所有JDK版本的新功能、增强功能以及已删除或弃用选项的信息。
正如你已经从图像教程中学到的那样,Image
通过宽度和高度来描述,以像素为单位,并且有一个与绘图表面无关的坐标系。
在处理图像时,有一些常见的任务。
本课程教授你加载、显示和保存图像的基础知识。
你必须学习的两个主要类是:
java.awt.Image
类是表示图形图像的超类,它是由像素的矩形数组组成的。java.awt.image.BufferedImage
类是扩展了Image
类,允许应用程序直接操作图像数据(例如检索或设置像素颜色)。应用程序可以直接构造这个类的实例。BufferedImage
类是Java 2D即时模式图像API的基石。它管理内存中的图像,并提供存储、解释和获取像素数据的方法。由于BufferedImage
是Image
的子类,因此可以通过接受Image
参数的Graphics
和Graphics2D
方法来渲染它。
BufferedImage
本质上是一个带有可访问数据缓冲区的Image
。因此,直接使用BufferedImage
更高效。一个BufferedImage
具有ColorModel和Raster的图像数据。ColorModel为图像的像素数据提供颜色解释。
Raster执行以下功能:
图像的基本操作在以下各节中表示:
本节解释如何使用Image I/O API将图像从外部图像格式加载到Java应用程序中
本节教授如何使用Graphics
和Graphics2D
类的drawImage
方法来显示图像。
本节描述如何创建图像以及如何使用图像本身作为绘制表面。
本节解释如何将创建的图像保存为适当的格式。