Java中使用Graphics 画图的一个问题

使用BufferedImage 生成的图像总是黑色背景,即使是使用了Graphics2D的setBackground()也没有效用,实际上要得到其它颜色的背景“应该”是使用fillRect()将整个矩形变色。

Graphics g = bufferedImage.createGraphics();
g.setColor( Color.white );
g.fillRect(0, 0, width, height );

然后再是画你所需要的东西。
这样大概OK了。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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面板。运行程序后,就可以看到画出的矩形和圆形了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值