通过使用图形或图形
2D
上下文,可以在 Java 中操作图像。
可以使用 ImageIO
类执行加载 JPEG 和 PNG 等图像。该方法接收要读取的 a 并返回一个 BufferedImage
,该图像可用于通过其 Graphics2D
(或图形
,其超类)上下文操作图像。ImageIO.read
File
上下文可用于执行许多图像绘制和操作任务。对于信息和示例,Java教程的Trail:2D图形将是一个非常好的开始。Graphics2D
下面是一个简化的示例(未经测试),它将打开一个JPEG文件,并绘制一些圆圈和线条(忽略例外):
// Open a JPEG file, load into a BufferedImage.
BufferedImage img = ImageIO.read(new File("image.jpg"));
// Obtain the Graphics2D context associated with the BufferedImage.
Graphics2D g = img.createGraphics();
// Draw on the BufferedImage via the graphics context.
int x = 10;
int y = 10;
int width = 10;
int height = 10;
g.drawOval(x, y, width, height);
g.drawLine(0, 0, 50, 50);
// Clean up -- dispose the graphics context that was created.
g.dispose();
上面的代码将打开一个JPEG图像,并绘制一个椭圆形和一条线。一旦执行这些操作来操作图像,就可以像任何其他一样处理 ,因为它是 的子类。BufferedImage
Image
Image
例如,通过使用 创建一个 ImageIcon
,可以将图像嵌入到 JButton
或 JLabel 中
:BufferedImage
JLabel l = new JLabel("Label with image", new ImageIcon(img));
JButton b = new JButton("Button with image", new ImageIcon(img));
和 都有构造函数,这些构造函数采用 ,因此这可以是将图像添加到 Swing 组件的简单方法。JLabel
JButton
ImageIcon