【发布时间】:2019-06-22 18:31:52
【问题描述】:
我创建了一个生成雪花的 Java 程序,我想在程序完成绘图后将创建的图像保存为 .png 文件。
我在互联网上搜索过,但我发现只有使用 BufferedImage 的程序,而我使用的是 BufferStrategy,所以我不知道从哪里开始。
我的程序中的 draw 方法使用 BufferStrategy 来创建 Graphics 组件。 例如,要画一条简单的线,方法是:
bs = display.getCanvas().getBufferStrategy();
if (bs == null) {
display.getCanvas().createBufferStrategy(3);
return;
}
g = bs.getDrawGraphics();
g.clearRect(0, 0, width, height);
g.setColor(Color.BLACK);
g.drawLine(0, 0, 50, 50);
我想要的是获得程序在屏幕上绘制的内容的精确副本,以保存为 .png 图像。 希望你能帮助我。
【问题讨论】:
-
您需要做的就是将您创建的 Graphics 对象 (g) 从顶层向下传递到 paint/paintComponent/paintAll 中
-
如果您在这里查看我以前是如何做到这一点的,您只需发送您的 Graphics 对象进行绘制:sourceforge.net/p/tus/code/HEAD/tree/tjacobs/print/…
-
不是绘制到 BufferedStrategy 的 Graphics 上下文,而是绘制到图像的 Graphics 上下文
标签: java graphics awt png bufferstrategy