2011-12-11 53 views
5

我想使用2D Java API在已經具有圖像的JLabel上繪製,然後保存生成的編輯圖片。如何使用JLabel?

我找不到關於這個特定主題的任何教程,有沒有人有任何代碼或參考資料顯示如何做到這一點?

+1

在JPanel中繪圖類似於在任何JComponent(如JPanel)中繪圖。你可以搜索這個論壇的很多例子,拍攝,很多由我包括[例1](http://stackoverflow.com/questions/6575578/convert-a-graphics2d-to-an-image-or-bufferedimage/6575620# 6575620),[示例2](http://stackoverflow.com/questions/7081308/jpanel-custom-drawing-using-graphics/7081362#7081362),[示例3](http://stackoverflow.com/questions/ 6105393/changing-jpanel-graphics-g-color-drawing-line/6105437#6105437) –

+0

和[示例4](http://stackoverflow.com/questions/7365535/best-to-handle-2-overlaying-live -updated-panels/7366478#7366478) –

+0

謝謝我會有一個很好的閱讀! –

回答

3

一種方法是將現有圖像和圖形渲染到BufferedImage中,如example所示,該圖形覆蓋了徽標上的文字。一旦圖像完成,使用ImageIO.write()將其保存爲所需的格式。

+0

這個例子正是我所需要的,謝謝! –

4

重寫paintComponent方法JLabel。它應該首先調用super.paintComponent,這樣你就可以得到任何JLabel包含的內容,然後添加自己的繪圖代碼。應該看起來有點像這樣:

public void paintComponent(Graphics g){ 
    super.paintComponent(g) 
    g.drawWhatever ... 
} 
+1

+1爲更直接的方法。 – trashgod