有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Graphics2D:白纸黑字?

我相信这是一个非常愚蠢的问题,但我找不到答案,我对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))

共 (1) 个答案

  1. # 1 楼答案

    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