📜  java 绘制图像 - Java (1)

📅  最后修改于: 2023-12-03 15:31:34.292000             🧑  作者: Mango

Java 绘制图像

在 Java 中,可以使用 java.awtjavax.swing 包来绘制图像。这些包提供了各种类和方法,可用于创建自定义图形和用户界面。

使用 Graphics 类绘制图像

在 Java 中,Graphics 类用于绘制图像。可以通过扩展 java.awt.Component 类并覆盖 paint() 方法来绘制图像。以下是一个简单的示例:

import java.awt.*;
import javax.swing.*;

public class MyPanel extends JPanel {
    public void paint(Graphics g) {
        super.paint(g);
        g.setColor(Color.RED);
        g.fillRect(50, 50, 100, 100);
    }

    public static void main(String[] args) {
        JFrame frame = new JFrame("MyPanel");
        frame.add(new MyPanel());
        frame.setSize(200, 200);
        frame.setVisible(true);
    }
}

在上面的示例中,我们创建了一个名为 MyPanel 的面板,并覆盖了 paint() 方法以绘制一个红色矩形。然后,将该面板添加到一个 JFrame 实例中,并将其设置为可见。

使用 BufferedImage 类创建图像

在 Java 中,可以使用 BufferedImage 类创建图像。以下是一个简单的示例:

import java.awt.*;
import java.awt.image.BufferedImage;
import javax.swing.*;

public class MyPanel extends JPanel {
    BufferedImage img;

    public MyPanel() {
        img = new BufferedImage(100, 100, BufferedImage.TYPE_INT_RGB);
        Graphics2D g2d = img.createGraphics();
        g2d.setColor(Color.RED);
        g2d.fillRect(0, 0, 100, 100);
        g2d.dispose();
    }

    public void paint(Graphics g) {
        super.paint(g);
        g.drawImage(img, 50, 50, null);
    }

    public static void main(String[] args) {
        JFrame frame = new JFrame("MyPanel");
        frame.add(new MyPanel());
        frame.setSize(200, 200);
        frame.setVisible(true);
    }
}

在上面的示例中,我们创建了一个名为 MyPanel 的面板,并在其构造函数中创建了一个大小为 100x100 的 BufferedImage。然后,我们使用 Graphics2D 对象绘制一个红色矩形,并在最后释放 Graphics2D。最后,我们在 paint() 方法中绘制 BufferedImage。

使用 Graphics2D 类以更高级别绘制图像

在 Java 中,Graphics2D 类是继承自 Graphics 类的子类,提供了更高级别的图形绘制功能。以下是一个简单的示例:

import java.awt.*;
import javax.swing.*;

public class MyPanel extends JPanel {
    public void paint(Graphics g) {
        super.paint(g);
        Graphics2D g2d = (Graphics2D)g;
        g2d.setColor(Color.RED);
        g2d.fillRect(50, 50, 100, 100);
        g2d.setStroke(new BasicStroke(5));
        g2d.setColor(Color.BLUE);
        g2d.drawRect(60, 60, 80, 80);
    }

    public static void main(String[] args) {
        JFrame frame = new JFrame("MyPanel");
        frame.add(new MyPanel());
        frame.setSize(200, 200);
        frame.setVisible(true);
    }
}

在上面的示例中,我们创建了一个名为 MyPanel 的面板,并在其 paint() 方法中使用 Graphics2D 对象绘制一个红色矩形,并使用宽度为 5 的蓝色边框绘制一个矩形。

结论

Java 中的绘图功能非常强大,可以为您的应用程序添加各种自定义图像和用户界面。我们介绍了如何使用 Graphics 类和 Graphics2D 类来绘制图像,并使用 BufferedImage 类创建图像。希望这篇介绍对您有所帮助。