【问题标题】:Graphics2D: Drawing black on white?Graphics2D:在白色上绘制黑色?
【发布时间】:2009-02-22 20:21:14
【问题描述】:

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

【问题讨论】:

    标签: java graphics


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-12-18
      • 1970-01-01
      • 2017-04-23
      • 1970-01-01
      • 2015-08-07
      • 1970-01-01
      • 2014-01-13
      相关资源
      最近更新 更多