java - Graphics2D : Drawing black on white?

标签 java graphics

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

该示例是在 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))

最佳答案

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

关于java - Graphics2D : Drawing black on white?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/575706/

相关文章:

java - JTable 1点边框不出现在网格线上

java - 查找 Android 库包名称和版本

math - 如何找到两条相反的法线或两条线段?

opengl - 延迟渲染 - 使用光体积重建点光源的位置是否有效?

java - 图形窗口中的基本弹跳球

iphone - 在触摸iPhone sdk上绘制图像

opengl - 任何人都可以解释 "field of view"

java - 检查是否加载了 jar 文件?

java - 在 maven 中打包一个扁平的 jar,包含一些依赖项,在 jar 之外有一些文件夹

java - 使用 Spring JPA 的多数据源