Lil*_*ily 21 java graphics bufferedimage image graphics2d
我需要创建一个BufferedImage具有指定背景颜色的矩形,在背景上绘制一些图案并将其保存到文件中.我不知道如何创建背景.
我正在使用嵌套循环:
BufferedImage b_img = ...
for every row
for every column
setRGB(r,g,b);
Run Code Online (Sandbox Code Playgroud)
但是当图像很大时它很慢.
如何以更有效的方式设置颜色?
Pet*_*ham 55
获取图像的图形对象,将当前颜色设置为所需的颜色,然后调用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() );
Run Code Online (Sandbox Code Playgroud)
可能是这样的:
BufferedImage image = new BufferedImage(...);
Graphics2D g2d = image.createGraphics();
g2d.setColor(...);
g2d.fillRect(...);
Run Code Online (Sandbox Code Playgroud)
用这个:
BufferedImage bi = new BufferedImage(width, height,
BufferedImage.TYPE_INT_ARGB);
Graphics2D ig2 = bi.createGraphics();
ig2.setBackground(Color.WHITE);
ig2.clearRect(0, 0, width, height);
Run Code Online (Sandbox Code Playgroud)