作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
嗨,我正在尝试使用 java 生成图像
int width = 640; int height= 480;
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics g2 = image.getGraphics();
g2.setColor(Color.BLUE);
g2.clearRect(0, 0, width, height);
ImageIO.write(image, "PNG", new File(path+index+".png"));
我期待一个蓝色图像...但它是黑色的。你知道为什么吗?
最佳答案
它是黑色而不是蓝色,因为 clearRect
使用背景颜色填充矩形,这不是您使用 setColor
设置的颜色。
clearRect的API文档说:
Clears the specified rectangle by filling it with the background color of the current drawing surface. This operation does not use the current paint mode.
Beginning with Java 1.1, the background color of offscreen images may be system dependent. Applications should use
setColor
followed byfillRect
to ensure that an offscreen image is cleared to a specific color.
因此,请使用 fillRect
而不是 clearRect
。
g2.setColor(Color.BLUE);
g2.fillRect(0, 0, width, height);
关于java - 如何在java中创建图形对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28945390/
我是一名优秀的程序员,十分优秀!