Graphics2D:白底黑?

Ger*_*mán 15 java graphics

我确定这是一个非常愚蠢的问题,但我找不到答案,我对Java2D API没有经验.我正在尝试创建一个图像并将其写入GIF或PNG,我希望它在白色背景上使用黑色笔.如果我没有设置任何颜色,我会变成黑色的白色.如果我使用setPaint()(用于后续绘制操作),我会用整个画布重新绘制该颜色.以下示例将整个事件呈现为黑色.

示例是在Scala中,但您明白了.随便用Java回答!

  val bi = new BufferedImage(200, 400, BufferedImage.TYPE_BYTE_BINARY )
  val g = bi.createGraphics
  g.setBackground(Color.WHITE)
  g.setPaint(Color.BLACK)
  g.draw(new Rectangle(10, 10, 30, 20))
Run Code Online (Sandbox Code Playgroud)

McD*_*ell 34

的setBackground方法是在/只与使用clearRect方法.

在绘画之前用背景颜色填充矩形:

int width = 200;
int height = 400;
BufferedImage image = new BufferedImage(width, height,
                          BufferedImage.TYPE_BYTE_BINARY);
Graphics g = image.createGraphics();
g.setColor(Color.WHITE);
g.fillRect(0, 0, width, height);
g.setColor(Color.BLACK);
//ready for drawing
Run Code Online (Sandbox Code Playgroud)