代码之家  ›  专栏  ›  技术社区  ›  Germán

在白色上画黑色?

  •  15
  • Germán  · 技术社区  · 15 年前

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

    样本在scala中,但你知道。在爪哇自由回答!

      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 回复  |  直到 15 年前
        1
  •  32
  •   McDowell rahul gupta    15 年前

    这个 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