将BufferedImage设置为Java中的颜色

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (49)

我需要创建一个BufferedImage具有指定背景颜色的矩形,在背景上绘制一些图案并将其保存到文件中。我不知道如何创建背景。

我正在使用嵌套循环:

BufferedImage b_img = ...
for every row
for every column
setRGB(r,g,b);

但是当图像很大时它非常慢。

如何以更有效的方式设置颜色?

提问于
用户回答回答于

获取图像的图形对象,将当前颜料设置为所需的颜色,然后调用fillRect(0,0,width,height)

BufferedImage b_img = ...
Graphics2D    graphics = b_img.createGraphics();

graphics.setPaint ( new Color ( r, g, b ) );
graphics.fillRect ( 0, 0, b_img.getWidth(), b_img.getHeight() );
用户回答回答于

可能是这样的:

BufferedImage image = new BufferedImage(...);
Graphics2D g2d = image.createGraphics();
g2d.setColor(...);
g2d.fillRect(...);

扫码关注云+社区