gpt4 book ai didi

java - 当我说红色时 BufferedImage 绘制白色

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:47:55 29 4
gpt4 key购买 nike

这一定是一个非常愚蠢的解决方案,但我是瞎子。

我有这个代码:

BufferedImage bi = new BufferedImage(800, 600, BufferedImage.TYPE_INT_RGB);
bi.getGraphics().setColor(Color.red);
bi.getGraphics().fillRect(300, 350, 100, 50);
ImageIO.write(bi, "jpeg", new File("image.jpg"));

然后我得到了这个黑色的 800x600 矩形和一个白色矩形。这是为什么?

谢谢:)

最佳答案

每次您在 BufferedImage 上调用 getGraphics() 时,您都会得到一个新的 Graphics 对象,因此在一个对象上设置颜色,不会在下一个对象上设置它。所以缓存图形对象。

BufferedImage bi = new BufferedImage(800, 600, BufferedImage.TYPE_INT_RGB);
Graphics g = bi.getGraphics();
g.setColor(Color.red);
g.fillRect(300, 350, 100, 50);
ImageIO.write(bi, "jpeg", new File("/home/dave/image.jpg"));

关于java - 当我说红色时 BufferedImage 绘制白色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5843426/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com