nan*_*ack 1 java swing awt java-2d graphics2d
我只是在玩Java 2D周末项目.我试图完成的只是在远离原点的位置50,50处加载和绘制图像.现在当我尝试做到这一点时,用
g2d.drawImage(imageLeft, 50, 50, 200, 200, null);
Run Code Online (Sandbox Code Playgroud)
然后我得到以下内容:

坦率地说,这让我感到困惑.为什么翻译的x部分与y部分的缩放比例不同?这里发生了什么?必须是一个明显的初学者的错误,但我无法弄清楚这种行为对我的生活的原因;-)
我用来绘制图像的完整代码是:
final IsogenWindow window = new IsogenWindow();
final BufferedImage imageLeft = loadImage(new File(getClass().getResource("/texture/tile1.png").toURI()));
final Graphics2D g2d = Graphics2D)window.getGraphics();
window.setSize(1000, 1000);
window.setVisible(true);
g2d.drawImage(imageLeft, 50, 50, 200, 200, null);
Run Code Online (Sandbox Code Playgroud)
编辑1:为了尝试DontRelaX的建议,我更改了我的代码,因此面板被添加到JFrame并且其Graphic2D对象用于绘图:
getContentPane().setLayout(null);
this.renderPanel = new JPanel();
getContentPane().add(renderPanel);
final Graphics2D g2d = (Graphics2D)renderPanel.getGraphics();
...
g2d.drawImage(imageLeft, 50, 50, 200, 200, null);
Run Code Online (Sandbox Code Playgroud)
不幸的是,结果仍然相同.但我认为DontRelaX走在正确的轨道上.还有什么建议?
编辑2:基本上DontRelaX的回答是正确的.我确实不使用renderPanel的Graphics2D,而是使用JFrame的Graphics2D对象.
干杯,nanoquack