我确信这是一个非常愚蠢的问题,但我找不到答案,我对 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))
The 设置背景 http://java.sun.com/javase/6/docs/api/java/awt/Graphics2D.html#setBackground(java.awt.Color)方法仅适用于清除矩形 http://java.sun.com/javase/6/docs/api/java/awt/Graphics.html#clearRect(int,%20int,%20int,%20int) method.
在绘制之前用背景颜色填充矩形:
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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)