嘿,我在Jpanel中添加了以下图片:msu-footprints.org/2011/Aditya/map.jpg
然后添加多边形:
int[] x = new int[]{65, 122, 77, 20};
int[] y = new int[]{226, 258, 341, 310};
g.setColor(Color.RED);
g.drawPolygon(x, y, x.length);
多边形应与建筑物GER重合,但有点偏移。我的专业说,坐标是可以的。如何放置图像位置有什么问题吗? -
答案 0 :(得分:2)
如果直接绘制到顶级容器(JFrame),那么 坐标空间会出错,实际上是内容窗格 偏移,考虑到框架的边框和菜单栏。
如果您覆盖任何框架的paint
方法或使用getGraphics
方法,则会发生这种情况。
创建一个自定义组件(从JPanel
扩展)并覆盖它的paintComponent
方法,并将图像和矩形直接渲染到它。然后坐标空间是正确的(顶部,左角将是0x0)