gpt4 book ai didi

Java Graphics2D 比例加倍

转载 作者:行者123 更新时间:2023-11-29 03:12:08 25 4
gpt4 key购买 nike

我在使用 Java 中的 Graphics2D 缩放对象时遇到问题。在我的 paintComponent 中,我创建了两个 graphics2D 对象以便于管理。然后我尝试缩放它们。问题是输出缩放了 x4(缩放命令相互影响)。否则一切都会按原样呈现。

如何最好地解决这个问题。

有问题的代码:

@Override
public void paintComponent(Graphics g) {
playerGraphics = (Graphics2D) g;
backgroundGraphics = (Graphics2D) g;

playerGraphics.scale(2.0, 2.0);
backgroundGraphics.scale(2.0, 2.0);

backgroundGraphics.drawImage(background.getBackground(), 0, 0, null);

for(int i = 0; i < noPlayers; i++) {
playerGraphics.drawImage(players.get(i).getCurrentSprite(), players.get(i).getXPos(), players.get(i).getYPos(), null);
}
}

最佳答案

playerGraphicsbackgroundGraphics 变量都是对同一个 Graphics 实例的引用。因此,当您调用

playerGraphics.scale(2.0, 2.0);
backgroundGraphics.scale(2.0, 2.0);

您实际上将同一个图形对象缩放了两次,因此您将它放大了四倍。尝试只对其中之一调用 scale 方法,或者更好的是,只有一个 Graphics2D 可以调用这些方法。

关于Java Graphics2D 比例加倍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28788151/

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