2012-10-25 40 views
-1

嘿,我將在JPanel中下面的圖片:msu-footprints.org/2011/Aditya/map.jpgJava的圖形圖像

,然後加入多邊形

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

請提供有關您的問題的更多詳細信息,包括問題的一些上下文以及可能更多*格式良好的代碼。也許這是我,但我發現這個問題很混亂和不完整。 –

+0

圖像可能有一個或兩個像素的邊距? – case1352

回答

2

如果直接繪製頂層容器(JFrame),則 座標空間會出錯,內容窗格實際上是 偏移量,考慮到框架的邊框和菜單欄。

如果您覆蓋任何幀的paint方法或使用getGraphics方法,則會發生這種情況。

JFrame showing coords of origin and (offset) content

創建自定義組分(從像JPanel延伸),並覆蓋它的paintComponent方法和直接呈現圖像和矩形它。座標空間將是正確的(頂部,左上角將爲0x0)

+0

再次感謝! –

+0

圖片描繪了1000個單詞。那更是如此。如果文本以*「如果直接繪製到頂層容器(JFrame)」開頭,那麼座標空間將會錯誤,內容窗格實際上會被偏移。「*它幾乎可以作爲」規範答案「 TLC渲染。 –

+0

@AndrewThompson該報價值得浪費很多,認爲報價... – MadProgrammer