【问题标题】:Java graphic imageJava 图形图像
【发布时间】:2012-10-25 21:50:30
【问题描述】:

嘿,我在 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 重合,但有一点偏移。我的教授说坐标没问题。我如何放置图像位置有什么问题吗? ——

【问题讨论】:

  • 请提供有关您的问题的更多详细信息,包括您的问题的一些上下文以及可能更多格式良好的代码。也许是我,但我发现这个问题非常混乱和不完整。
  • 图像可能有一个或两个像素的边距?

标签: java image graphic


【解决方案1】:

如果直接绘制到顶层容器(JFrame),那么 坐标空间会出错,内容窗格实际上是 偏移量,考虑到框架的边框和菜单栏。

如果您覆盖任何框架的 paint 方法或使用 getGraphics 方法,就会发生这种情况。

创建一个自定义组件(从JPanel 之类的东西扩展)并覆盖它的paintComponent 方法并将图像和矩形直接渲染到它。坐标空间将是正确的(左上角为 0x0)

【讨论】:

  • 一幅画描绘了 1000 个字。那个更是如此。如果文本以“如果直接绘制到顶级容器(JFrame),那么坐标空间将是错误的,内容窗格实际上是偏移的..”开始,它几乎可以是一个'规范的答案' 到 TLC 渲染的那个方面。
  • 我做了 1 次进一步的编辑。如果你不喜欢它,请回滚。 OTOH 1. 像这样读起来更好(IMO)。 2. 对“学分”感兴趣的可以关注edit revisions。 ;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-12-14
  • 1970-01-01
  • 1970-01-01
  • 2021-07-28
  • 2012-10-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多