getgraphics java_Java用BufferedImage和Graphics画图。
时间: 2023-12-10 22:39:41 浏览: 29
Java中使用BufferedImage和Graphics类可以实现画图功能。下面是一个简单的示例代码,可以画一个矩形和一个圆形:
```java
import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class DrawShapes extends JPanel {
private static final long serialVersionUID = 1L;
public void paint(Graphics g) {
// 创建一个BufferedImage对象
BufferedImage image = new BufferedImage(300, 300, BufferedImage.TYPE_INT_RGB);
// 获取Graphics对象
Graphics g2 = image.createGraphics();
// 画一个矩形
g2.setColor(Color.RED);
g2.fillRect(50, 50, 100, 100);
// 画一个圆形
g2.setColor(Color.BLUE);
g2.fillOval(150, 150, 100, 100);
// 将BufferedImage对象绘制到面板上
g.drawImage(image, 0, 0, null);
}
public static void main(String[] args) {
// 创建一个窗口并添加面板
JFrame frame = new JFrame();
frame.getContentPane().add(new DrawShapes());
frame.setSize(300, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
```
在这个示例中,我们创建了一个继承自JPanel的类DrawShapes,并重写了其paint()方法。在paint()方法中,我们首先创建了一个BufferedImage对象,并获取了它的Graphics对象。接着,我们使用Graphics对象画了一个矩形和一个圆形。最后,我们将BufferedImage对象绘制到面板上。
在main()方法中,我们创建了一个窗口并添加了DrawShapes面板。运行程序后,就可以看到画出的矩形和圆形了。