gpt4 book ai didi

java - 是否可以创建我自己的 Graphics2D 并与 Applet 中的另一个组合?

转载 作者:行者123 更新时间:2023-12-01 15:37:23 25 4
gpt4 key购买 nike

通常,小程序会调用不同的方法,这些方法将有一个在屏幕上结束的 Graphics2D 对象。

在此过程中,方法将在该对象上操作和绘制内容。

但我的问题是,我有一些非常静态的图像需要为每一帧计算和绘制。

如何构建一个可以缓存的图形对象,并重新应用移动对象?例如,我有一个静态背景抽屉,Graphics2D 对象是来自 Applet 的对象。

private Graphics2D drawbackground(Graphics2D g2d) {
// Debug grid layer
int x = 0;
int y = 0;

for (int i = 0; i < 9; i++) {
if (x == 0 && y == 0 || y % 82 == 0) {
x = 0;
for (int t = 0; t <= 5; t++) {
g2d.setColor(Color.WHITE);
g2d.drawLine(x, y + 41, x + 41, y);
g2d.drawLine(x + 41, y, x + 82, y + 41);
g2d.drawLine(x, y + 41, x + 41, y + 82);
g2d.drawLine(x + 82, y + 41, x + 41, y + 82);
x += 82;
}
y += 41;
} else if (y % 41 == 0) {
x = 41;
for (int t = 0; t <= 5; t++) {
g2d.setColor(Color.WHITE);
g2d.drawLine(x, y + 41, x + 41, y);
g2d.drawLine(x + 41, y, x + 82, y + 41);
g2d.drawLine(x, y + 41, x + 41, y + 82);
g2d.drawLine(x + 82, y + 41, x + 41, y + 82);
x += 82;
}
y += 41;
}
}
}

是否可以生成这些绘图,并在缓存的副本中重新使用它们,这样我的 Applet 就不需要花时间来为每次绘制运行这些绘制线?

最佳答案

我同意 Raveline 的观点,BufferedImage 是我寻求此解决方案的地方。然而,双缓冲这个概念是您在深入研究之前需要先了解一下的。

http://docs.oracle.com/javase/tutorial/extra/fullscreen/doublebuf.html

关于java - 是否可以创建我自己的 Graphics2D 并与 Applet 中的另一个组合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8669397/

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